我正在尝试获取包含所有值的字符串列表
这是我的html:
<label>Select Roles</label>
<span id="dualselect" class="dualselect">
<select name="RolesSelect" id="dualSelectRoles1" multiple="multiple" size="10">
<option value="">Avaliable Roles</option>
</select>
<span class="ds_arrow">
<span class="arrow ds_prev">«</span>
<span class="arrow ds_next">»</span>
</span>
<select name="select4" multiple="multiple" id="dualSelectRoles2" size="10">
<option value="12">Users Roles</option>
</select>
</span>
这是我的JS:
<script>
function submitForm() {
var arr = new Array;
$("#dualSelectRoles2").each(function () {
arr.push($(this).val());
});
alert(arr);
}
</script>
我的警报什么都没显示?
答案 0 :(得分:1)
应该是:
var arr = new Array;
$("#dualSelectRoles2 option").each(function () {
arr.push($(this).val());
alert(arr);
});
<强> Fiddle 强>
答案 1 :(得分:1)
您需要引用选项元素,然后迭代它们:
var arr = new Array;
$("#dualSelectRoles2 option").each(function () {
arr.push(this.value);
});
alert(arr);
此外,您可以将$(this).val()
替换为this.value
。你不需要这里的jQuery对象。
<强> fiddle 强>
答案 2 :(得分:0)
您需要在select中找到选项元素,然后使用.map()
function submitForm() {
var arr = $("#dualSelectRoles2 option").map(function () {
return this.value
}).get();
alert(arr);
}
答案 3 :(得分:0)
DEMO:http://jsfiddle.net/qsDn5/22/
你需要在每个选项中运行循环。
var arr = new Array;
$("#dualSelectRoles2 option").each(function () {
arr.push(this.value);
});
alert(arr);