正如问题所说,我如何使用jQuery设置下拉列表控件的值?


当前回答

这个问题的最佳答案是:

$("#comboboxid").val(yourvalue).trigger("chosen:updated");

e.g:

$("#CityID").val(20).trigger("chosen:updated");

or

$("#CityID").val("chicago").trigger("chosen:updated");

其他回答

有很多方法可以做到这一点。以下是其中一些:

$("._statusDDL").val('2');

OR

$('select').prop('selectedIndex', 3);

下面是一个快速设置所选选项的函数:

function SetSelected(elem, val){
        $('#'+elem+' option').each(function(i,d){
        //  console.log('searching match for '+ elem + '  ' + d.value + ' equal to '+ val);
            if($.trim(d.value).toLowerCase() == $.trim(val).toLowerCase()){
        //      console.log('found match for '+ elem + '  ' + d.value);
                $('#'+elem).prop('selectedIndex', i);
            }
        });
    }

使用参数element id和所选值调用此函数;是这样的:

SetSelected('selectID','some option');

当有很多选择选项需要设置时,它很有用。

设置值并更新下拉列表事件

$("#id").val("1234").change();

正如@Nick Berardi所建议的,如果你更改的值没有反映在UI前端,尝试:

$("#mydropdownlist").val("thevalue").change();
$("#mydropdownlist").val("thevalue");

只要确保选项标签中的值与val方法中的值匹配即可。