[英]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.