我对垂直行业使用下拉列表,对帐户使用多选列表框,在视图页面中使用按钮。当我更改下拉(垂直)多选列表框将可见并填充相应的帐户。当我从多选列表框中选择项目(帐户)时,我希望将所选值作为变量中的逗号分隔值。我正在使用以下 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)中获取逗号分隔值,我必须做些什么改变?