若要获取多选列表框,请将选定项目作为变量中逗号分隔的值
To get Multiselect listbox Selected items as comma seperated values in a variable
I’m Using Dropdownlist for verticals and a Multiselect listbox for accounts and a button in a viewpage。当我更改下拉列表(垂直)时,多选列表框将可见,并填充相应的帐户。当我从多选列表框中选择项目(帐户)时,我希望将所选值作为变量中逗号分隔的值。我正在使用以下jQuery:
$(document).ready(function () {
$('#acc').hide();
$('#ddlacc').hide();
$('#smt').click(function () {
var vertical=$('#vdropdown :selected').text();
var selectedvalues = $('#ddlacc > :selected').map(function () { return $(this).val(); }).get().join(',');
var account = $('#ddlacc > :selected').map(function () { return $(this).text(); }).get().join(',');
getGrid(vertical,account);
});
});
这是我用来下拉的html助手,
<b>Vertical : </b>@Html.DropDownList("Var_Vertical", new SelectList(Model.lstTravelReadyEntities, "Var_Vertical", "Var_Vertical", Model.lstTravelReadyEntities), " ", new { id = "vdropdown", @onchange = "javascript:GetAccounts(this.value);" })
以下是填充多选列表框的功能,
function GetAccounts() {
var url = "/Home/Account/";
$.ajax({
url: url,
data: {},
cache: false,
type: "POST",
success: function (data) {
var markup = "";
for (var x = 0; x < data.lstTravelReadyEntities.length; x++) {
markup += "<option value=" + x + ">" + data.lstTravelReadyEntities[x].Var_AccountName + "</option>";
}
$('#acc').show();
$('#ddlacc').html(markup);
$('#ddlacc').multiselect();
},
error: function (reponse) {
alert("error : " + reponse);
}
});
}
在这里,我只能获得变量中最后一个选定的项(selectedvalues)。对于在变量中获得逗号分隔的值(selectedvalues),我需要做什么更改?
对于multiSelect插件,您需要使用插件的getChecked方法:
因此:
var allChecked = $('#ddlacc').multiselect('getChecked'); //get the checked cached elements
var selectedvalues = $(allChecked).map(function () {
return this.value; //get the values
}).get().join(',');
var account = $(allChecked).map(function () {
return this.title; //text stored as title
}).get().join(',');
演示
似乎您使用的是erichynds jQuery multiselecthttp://www.erichynds.com/blog/jquery-ui-multiselect-widget
您可以使用方法getChecked()获取所有选定的元素
var str='';
$("select").multiselect("getChecked").each(function(){str+=this.value+','});
相关文章:
- 使用 javascript 传递逗号分隔的变量
- 检查变量并将它们添加到逗号分隔的列表中
- 如何使用javascript将逗号分隔的变量解析为数组
- 单个逗号分隔的变量声明和多个声明之间的区别是什么
- 在 JavaScript 中,当一个变量用逗号分隔的 3 个不同名称声明时,这意味着什么?
- 如何分隔两个变量
- 使用 PHP 和 JavaScript 分隔 SQL 插入的变量
- 具有多个逗号分隔值的变量声明是什么意思(例如 var a = b,c,d;)
- 分隔的文本框放回一个变量中并以不同的方式显示
- 存储选择框的选项值并将其存储到变量中(通过逗号分隔的值)
- jQuery逗号分隔的选择器与事件驱动函数调用的变量
- 带有固定字符串和一些用连字符分隔的变量的Javascript正则表达式
- 在AngularJS中,当指令属性的作用域变量基于camelBase时,为什么它们需要用连字符分隔
- 删除javascript变量中以逗号分隔格式存储的重复电子邮件ID
- Javascript将字符串分隔成不同的变量
- 若要获取多选列表框,请将选定项目作为变量中逗号分隔的值
- 将两个字符串分隔为两个变量
- 在下列代码中将逗号分隔的字符串值赋给变量有什么问题?
- 如何从文本文件中读取变量,逗号分隔的变量到javascript数组
- 有一种方法,我可以改变骆驼的情况下,以空格分隔的单词变量的内容