[英]multi-select list
我有多选列表框。 我在 on-change 事件中调用 function 并传递多选列表中的值。 当我这样做时,我得到了第一个选定的值,而不是所有的多选值。
<select name="cat" multiple="multiple" class="main" onChange="javascript:get_list(this.value);">
<option value="">--Select Category--</option>
<?php
////////////////display category//////////////////
$cat_details=mysql_query("SELECT category_id,category
FROM category_tb
ORDER BY category");
while($cat_data=@mysql_fetch_array($cat_details)){?>
<option value="<?=$cat_data['category_id'];?>"<?
if($_REQUEST['cat']==$cat_data['category_id']){?> selected="selected"<?php } ?>><?=$cat_data['category'];?></option>
<? } ?>
</select>
如何将所有选定的值从多选传递到 ajax?
将name="cat"
更改为name="cat[]"
。 然后将所有选定的值存储在一个数组中。
您需要将 select 字段的名称设置为
cat[]
然后您将收到一个 cat 值数组
尝试这样的事情
this.options[this.selectedIndex].value
刚刚注意到它是多个 select,需要更复杂的 javascript
您将必须遍历所有选项并检查“选定”属性以获取所有选定值。
<!-- html -->
<select name="cat" multiple="multiple" class="main" onChange="javascript:get_list(this);">
// Javascript
function get_list(sel) {
var i = sel.options.length,
opt = null,
selValues = [];
for ( ; i--; ) {
opt = sel.options[i];
if (opt.selected) {
selValues.push(opt.value);
}
}
console.log(selValues);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.