jQuery获得选择选项问题

时间:2009-11-24 14:22:18

标签: jquery html-select

我有两个相互转移的多选框。双向转移都很顺利。我还调用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>&nbsp;</td>
                    <td><strong>SLS Chat Friends</strong></td>
                    <td>&nbsp;</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">&gt;</button><br />
                        <button type="button" style="height:100px;" id="remove">&lt;</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>

任何帮助表示感谢。

感谢。

2 个答案:

答案 0 :(得分:3)

而不是

var domelts = $('#imfavs :selected');

尝试

var domelts = $('#imfavs option:selected');

答案 1 :(得分:0)

我试用了你的代码,似乎工作正常。

检查并确保选项具有值属性。

<option value="value1">value1</option>