可排序表中的JQuery SelectBox不起作用

时间:2013-06-05 17:11:37

标签: jquery html-table jquery-ui-sortable

我想对包含SelectBoxes的表进行排序。 当我使Table可排序时,SelectBoxes不会下拉。

这个JQuery和UI版本正在使用中......
jQuery的1.9.1.js
的jquery-UI-1.9.1.js

我希望有人可以帮助我。

这是代码......

HTML

    <table id="sort">
        <thead>
        <tr>
            <th>AAA</th>
            <th>BBB</th>
            <th>CCC</th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td>111</td>
            <td>222</td>
            <td>
                <select name="s1">
                    <option value="1">v1</option>
                    <option value="2">v2</option>
                    <option value="3">v3</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>333</td>
            <td>444</td>
            <td>
                <select name="s2">
                    <option value="1">v1</option>
                    <option value="2">v2</option>
                    <option value="3">v3</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>555</td>
            <td>666</td>
            <td>
                <select name="s3">
                    <option value="1">v1</option>
                    <option value="2">v2</option>
                    <option value="3">v3</option>
                </select>
            </td>
        </tr>
    </tbody>
    </table>

JQuery的

<script type="text/javascript">

var fixHelper = function(e, ui) {
    ui.children().each(function() {
        $(this).width($(this).width());
    });
    return ui;
};

$("#sort tbody").sortable({
        helper: fixHelper,
    stop: function(event, ui) {
            $( 'div[id$=_pos_view]' ).each(function( index ) {
                $(this).html(index);
            });     

            $("input:checkbox[name$=__active]").each(function( index ) {
                $(this).data('pos', index);
            });     
    }
}).disableSelection();

</script>

2 个答案:

答案 0 :(得分:0)

刚遇到同样的问题。你必须删除

.disableSelection()

See support ticket #8947

同时检查更新后的http://jsfiddle.net/PKCF9/2/

答案 1 :(得分:0)

我能够通过添加此行来解决这个问题

 $("ul.ef_sortable").sortable({
      cancel: "select"
});