我有一个多选,我正在尝试的代码是从我将获得的查询数据中填充第二个选择,就像对函数进行ajax调用一样,该函数将追加或删除select中的条目
我尝试过这样的事情
$(document).ready(function{
$("#desk").change(function() {
var deskid = $("#desk :option").attr('id');
$.ajax ({
url: mypagephp?dataid=deskid // [acomma seperated values of the all above chosen desks]
});
});
});
我的HTML代码就像这样
<tr>
<td width="19%">Desk</td>
<td width="81%">
<select name="desk" id="desk" multiple="multiple" class="select">
<cfoutput query="getAllDesk">
<option value="100" id="100">Test 1</option>
<option value="101" id="101">Test 2</option>
<option value="102" id="102">Test 3</option>
<option value="103" id="103">Test4</option>
</cfoutput>
</select>
</td>
</tr>
但我认为我正在失去一些方法,我需要做每个调用并在每个调用中嵌套ajax调用,这样我就可以将多个条目传递给ajax cal作为逗号分隔,它可以填充第二个选择< / p>
答案 0 :(得分:0)
我会使用听起来像你正在尝试做的事情的复选框。下面的代码将为您提供所有选定选项的数组,然后您使用逗号加入以获取要通过AJAX发送的字符串。
$('#desk').on('submit',function(){
//this will loop through checked boxes and put them in the
//'checkedValues' variable as an array
var checkedValues = $(this).find(':checkbox:checked').map(function(){
return this.value;
}).get();
//then join the array and you'll have your comma separated string
//with all selected values
var desksString = checkedValues.join(',');
console.log(desksString);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="desk">
<input type="checkbox" value="100" name="desk1"/>Test 1<br>
<input type="checkbox" value="101" name="desk2"/>Test 2<br>
<input type="checkbox" value="102" name="desk3"/>Test 3<br>
<input type="submit" value="Submit">
</form>
&#13;