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


当前回答

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

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

其他回答

试试这个非常简单的方法:

/*make sure that value is included in the options value of the dropdownlist 
e.g. 
(<select><option value='CA'>California</option><option value='AK'>Alaska</option>      </select>)
*/

$('#mycontrolId').val(myvalue).attr("selected", "selected");

我认为这可能会有所帮助:

    $.getJSON('<%= Url.Action("GetDepartment") %>', 
              { coDepartment: paramDepartment },
              function(data) {
                    $(".autoCompleteDepartment").empty();
                    $(".autoCompleteDepartment").append($("<option />").val(-1));
                    $.each(data, function() {
                        $(".autoCompleteDepartment").append($("<option />").val(this.CodDepartment).text(this.DepartmentName));
                    });
                    $(".autoCompleteDepartment").val(-1);                                       
              }  
             );

如果您这样做,您将添加一个没有文本的元素。因此,当你点击de combo时,它不会出现,但值-1你添加了一个稍后选择$(".autoCompleteDepartment").val(-1);允许您控制组合是否具有有效值。

希望能对大家有所帮助。

对不起,我的英语不好。

设置下拉选择的值并更新更改

$("#PR2DistrictId option[value='@Model.PR2DistrictId']").attr("selected", true).trigger("chosen:updated")

这里我们首先从Model中设置值,然后在选中时更新它

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

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

OR

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

如果你加载所有<options ....></options>通过Ajax调用 按照下面的步骤来做。

1).创建一个单独的下拉值设置方法 为例:

function set_ip_base_country(countryCode)
    $('#country').val(countryCode)
} 

2).当ajax调用成功所有html追加任务完成时调用此方法

为例:

success: function (doc) {
  .....
  .....
  $("#country").append('<option style="color:black;" value="' + key + '">'  +   value + '</option>')
  set_ip_base_country(ip_base_country)
}