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

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

我怎么用这个。


当前回答

这对我有帮助。

选择:

$('select_tags').on('change', function() {
    alert( $(this).find(":selected").val() );
});

For radio / checkbox:

$('radio_tags').on('change', function() {
    alert( $(this).find(":checked").val() );
});

其他回答

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

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

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

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

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

我有一个例子来帮助新想法。 我希望这对任何人都有帮助。

$('#editpricelist_box').change(function ($e){
    $('input[name="edit_unit_price"]').val(parseFloat(this.val()).toFixed(2));
    console.log(this.val());
});
jQuery(document).ready(function(){

    jQuery("#id").change(function() {
      var value = jQuery(this).children(":selected").attr("value");
     alert(value);

    });
})

我的印象是,我可以得到一个选择的值 输入$(this).val();

如果你不引人注目地订阅(这是推荐的方法),这是有效的:

$('#id_of_field').change(function() {
    // $(this).val() will work here
});

如果你在脚本中使用onselect和mix标记,你需要传递一个引用到当前元素:

onselect="foo(this);"

然后:

function foo(element) {
    // $(element).val() will give you what you are looking for
}