【发布时间】:2016-08-29 20:56:26
【问题描述】:
我正在使用引导选择来启用多个下拉菜单。 当按下按钮时,我正在构建一个用于 AJAX 请求的变量。
它适用于返回值(在这种情况下基本上是 ID),因为它返回一个值数组,我可以使用循环来构建 JSON。但是我还需要发送文本值,但无法使其正常工作。
$('#sendButton').click(function() {
var modal = $('#modalPopup');
var modalID = modal.data('value');
var selectedOptionValue = $('#multiSelectBox').val();
var selectedOptionName = $('#multiSelectBox').text();
var sendRequest = {
'modalNo': modalID,
'products': []
};
for (var i = 0; i < selectedOptionValue.length; i++) {
sendRequest.products.push({
'productId': selectedOptionValue[i],
'productName': selectedOptionName
});
}
});
我在构建请求时尝试了另一个循环来执行selectedOptionName[j],但没有运气,我最终在下拉列表中获得了所有文本值。尝试使用:
var selectedOptionName = $('#multiSelectBox:selected').text();
但这不会返回任何东西。有什么想法吗?
下拉列表的 HTML:
<select class="selectpicker" multiple id="multiSelectBox" title="Select Product(s)"></select>
填充下拉列表的代码:
var html = '';
for (var i = 0; i < data.products.length; i++){
html += '<option value ="' + data.products[i].productId+ '">' + data.products[i].productName+ '</option>'
}
$('#multiSelectBox').html(html);
$('.selectpicker').selectpicker('refresh');
【问题讨论】:
-
能否提供相关的HTML代码?
-
添加了 HTML/代码以填充下拉菜单
-
你想要的是this fiddle吗?
-
谢谢,但不完全是,我使用的是多选文本框,所以它会获取所有选定的选项文本,我可以将它们与他们的 ID 配对。如果它将它们全部返回到一个数组中,其值会很棒。
-
好吧,我没有仔细阅读问题,抱歉。
标签: jquery twitter-bootstrap bootstrap-select