我有两个相互转移的多选框。双向转移都很顺利。我还调用ajax fn将所选选项提交到数据库。 从左到右的通话工作正常,因为我只是获得所有选项,而不仅仅是选定的选项。
var domelts = $('#imfavs option');
// next translate that into an array of just the values
var buddylist = $.map(domelts, function(elt, i) { return $(elt).val();});
现在,当我尝试仅使用所选选项从右向左移动时,它总是返回一个空数组。
我试过两种方式
var domelts = $('#imfavs :selected');
var removelist = $.map(domelts, function(elt, i) { return $(elt).val();});
$('#imfavs :selected').each(function (x) {
removelist[x] = $(this).val();
});
对于第二个,removelist之前是var'd。
我的HTML
<form method="post" name="frmFavs" id="frmFavs">
<table>
<tr>
<td><strong>Current Friends</strong></td>
<td> </td>
<td><strong>SLS Chat Friends</strong></td>
<td> </td>
</tr>
<tr>
<td>
<select name="userfavs" multiple="multiple" size="25" id="userfavs">
<cfoutput query="userfavs"><option value="#encrypt(userfavs.user2id,application.key,'DES','Hex')#">#userfavs.user2#</option></cfoutput>
</select>
</td>
<td>
<button type="button" style="height:100px;" id="add">></button><br />
<button type="button" style="height:100px;" id="remove"><</button>
</td>
<td>
<select name="imfavs" multiple="multiple" size="25" id="imfavs"></select>
</td>
<td valign="middle"><div id="info"></div></td>
</tr>
</table>
</form>
任何帮助表示感谢。
感谢。
答案 0 :(得分:3)
而不是
var domelts = $('#imfavs :selected');
尝试
var domelts = $('#imfavs option:selected');
答案 1 :(得分:0)
我试用了你的代码,似乎工作正常。
检查并确保选项具有值属性。
<option value="value1">value1</option>