javascript - Jquery 选择从 javascript 中设置选定值

标签 javascript jquery

我正在使用 jquery chosen,我想从 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]);

它对我不起作用。

最佳答案

设置select值后需要触发chosen:updated事件

$("#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

关于javascript - Jquery 选择从 javascript 中设置选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28691032/

相关文章:

javascript - 如何在 selectize.js 中禁用自动过滤?内置/插件/修改源?

javascript - 如何在 Angular JS 中添加文本编辑器?

javascript - 在循环外传递 ng-repeat 当前对象

javascript - 在 TypeScript 中从数组中累积映射

javascript - JQuery 云轮播无法正常工作

javascript - Jquery 无法访问循环外的数组

javascript - TypeScript 中 c# 类虚拟成员的等价物

jQuery/CSS 偏移+鼠标移动问题

javascript - 在其任何子页面上突出显示标题菜单项

javascript - 如何在 jQuery 中捕获 AJAX 中止?