我有一个<select class="fiLocations"></select>
下拉列表,我正在从数组填充,如此
$(document).ready(function() {
var fiLocations=["One", "Two", "Three"];
for (i=0;i<fiLocations.length;i++){
$('<option/>').val(fiLocations[i]).html(fiLocations[i]).appendTo('.fiLocations');
}
}
未提交所选选项的值!硬编码选项确实提交。 我认为我需要通知浏览器所做的更改......我该怎么做?
答案 0 :(得分:1)
var fiLocations=["One", "Two", "Three"];
for (i=0;i<fiLocations.length;i++){
var option = "<option SELECTED='SELECTED' value='"+fiLocations[i]+"'>"+fiLocations[i]+"</option>";
$('.fiLocations').append(option);
}
我对代码的编辑会在创建选项时添加所选属性。现在您还需要为选择器添加
的属性<select multiple="multiple">
所以可以选择所有选项。现在,如果您希望在调用ajax之前不选择它们,请删除创建代码函数中的selected='selected'
部分,然后使用
$('.fiLocations option').attr('selected','selected');
在调用ajax函数之前。
答案 1 :(得分:0)
在您调用.val()
部分的示例中,它实际上并未填充<option>
标记的不存在的值属性。因此,我认为您创建的选项不是提交值。
尝试这样做:
$(document).ready(function() {
var fiLocations=["One", "Two", "Three"];
for (i=0;i<fiLocations.length;i++){
$('<option/>').attr("value",fiLocations[i]).text(fiLocations[i]).appendTo('.fiLocations');
}
}