Jquery选择从javascript设置选定的值

时间:2015-02-24 08:23:37

标签: javascript jquery

我正在使用jquery,我想从javascript中设置选定的值

使用Javascript / Jquery的

$(document).ready(function() {
  var selectedUserRole = document.getElementById('SelectedUserRole').value;
  var str_array = selectedUserRole.split(',');

  for (var i = 0; i < str_array.length; i++) {
    // Trim the excess whitespace.
    str_array[i] = str_array[i].replace(/^\s*/, "").replace(/\s*$/, "");
    // Add additional code here, such as:

    $("UserRole").prop('selectedValue', str_array[i]); // Here not working
  }
});

HTML

 @Html.DropDownList("UserRole", null, new { id = "UserRole", @class = "chosen-select", @multiple = "multiple", @placeholder = "Lütfen Rol Seçiniz", @style = "width: 250px;" })

str_array的值低于

[5,1,7]

我想选择5个值,选择1个值7选择值

当我在下面尝试时

$("UserRole").prop('selectedValue', str_array[i]);

它不适合我。

4 个答案:

答案 0 :(得分:19)

设置chosen:updated

后,您需要触发select事件
$("#UserRole").val(str_array[i]).trigger("chosen:updated");

选择多个值

$(document).ready(function () {

    var selectedUserRole = document.getElementById('SelectedUserRole').value;

    var str_array = selectedUserRole.split(',');

    for (var i = 0; i < str_array.length; i++) {
        str_array[i] = str_array[i].replace(/^\s*/, "").replace(/\s*$/, "");
    }

    $("#UserRole").val(str_array).trigger("chosen:updated");
});

演示:Fiddle

答案 1 :(得分:1)

而不是

$("UserRole").prop('selectedValue', str_array[i]);

应该是

$("#UserRole").prop('selectedValue', str_array[i]); // include '#' id selector here

答案 2 :(得分:1)

使用此

你错过了'#'

$("#UserRole").prop('selectedValue', str_array[i]); 

答案 3 :(得分:1)

截至目前,这种方式支持更新多个值:

$("#UserRole").val(str_array).trigger("chosen:updated");