在jquery multiselect下拉列表中设置值

时间:2014-01-04 04:52:27

标签: javascript jquery jquery-multiselect

我想在ITEMS中设置多个jQuery multiselect dropdown,具体取决于我从数据库获取的该项目的VALUE,以“,”分隔。

我正在hidden field中保存此提取的数据。

实施例。

隐藏字段:hdnLots = 64,65 ,批号项目:64 = Lot 1, 65 = Lot2

因此,当我收到hdnLot=65时,在jQuery Multiselect dropdown中只需要选择Lot2同样适用于64,65。即,当选择多个值时,选择所选的所有值。

我试过了:JQuery multiselect - Set a value as selected in the multiselect dropdown

我为此写的代码是:

if ($("#<%= btnUpdateProject.ClientId %>").css('display') == "inline-block") 
{
   debugger;
   var dataarray = document.getElementById('<%= hdnLots.ClientId %>').value.split(",");
   $("#<%= ddlNoOfLots.clientid %>").val(dataarray);
}

3 个答案:

答案 0 :(得分:13)

我希望这会对你有所帮助:

Demo

$(document).ready(function() {
$("select").multiselect({
   selectedText: "# of # selected"
});
var hidValue = $("#hidSelectedOptions").val();
alert(hidValue);
var selectedOptions = hidValue.split(",");
for(var i in selectedOptions) {
    var optionVal = selectedOptions[i];
    $("select").find("option[value="+optionVal+"]").prop("selected", "selected");
}
$("select").multiselect('reload');
});

修改

refresh已从最新的jQuery-MultiSelect中删除。使用reload将解决现在的问题。

答案 1 :(得分:2)

您需要确保的一件事是数组中的值是字符串:

<select id='multipleSelect' multiple='multiple'>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
<script type='text/javascript'>
    $('#multipleSelect').val(['1', '2']);
</script>

检查我的小提琴:https://jsfiddle.net/luthrayatin/jaLygLzo/

答案 2 :(得分:1)

var selectedOptions = hidValue.split(",");
typeof (selectedOptions != 'undefined' && $("#hidSelectedOptions").multiselect('select', selectedOptions));