我的印象是,我可以通过执行这个$(this).val()来获取一个选择输入的值;并将onchange参数应用到select字段。

只有在引用ID时,它才会起作用。

我怎么用这个。


当前回答

$('#select_id').on('change', function()
{
    alert(this.value); //or alert($(this).val());
});



<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<select id="select_id">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="4">Option 4</option>
</select>

其他回答

您可以尝试(使用jQuery)-

$('选择')。(“变革”的功能() { 警报(这。值); }); < script src = " https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js " > < /脚本> <选择> <option value="1">选项1</option> . </option> . <option value="2"> option 2</option> . <option value="3"> option 3</option> . <option value="4"> option 4</option> . < /选择>

或者你可以使用简单的Javascript像这样-

函数getNewVal(项) { 警报(item.value); } <选择onchange = " getNewVal(这个);" > <option value="1">选项1</option> . </option> . <option value="2"> option 2</option> . <option value="3"> option 3</option> . <option value="4"> option 4</option> . < /选择>

尝试事件委托方法,这几乎适用于所有情况。

$(document.body).on('change',"#selectID",function (e) {
   //doStuff
   var optVal= $("#selectID option:selected").val();
});
$('#select_id').on('change', function()
{
    alert(this.value); //or alert($(this).val());
});



<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<select id="select_id">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="4">Option 4</option>
</select>

箭头函数的作用域与函数不同, 这一点。Value将为箭头函数提供undefined。 固定使用

$('select').on('change',(event) => {
     alert( event.target.value );
 });

请注意,如果这些不工作,这可能是因为DOM还没有加载,您的元素还没有找到。

若要修复,请将脚本放在正文的末尾或使用文档就绪

$.ready(function() {
    $("select").on('change', function(ret) {  
         console.log(ret.target.value)
    }
})