我想只选择那些不可选择=“关闭”的td

时间:2012-04-18 10:29:05

标签: jquery jquery-ui jquery-selectors

我正在创建一个房间预订系统。所以我想只选择那些不可选择的td =" off"。请帮我这样做。

这是我的html代码,这是我用来选择它们的脚本。

<script>
$(function() {
    $( "table" ).selectable(
    {
        filter: 'tbody td unselectable:off '
    }
    );
});
</script>

但没有任何事情发生。 请帮我解决这个问题。                  

            <tr>
                <td unselectable="on" resource="B" style="width: 79px; border-right: 1px solid #000000;
                    border-left: 1px solid #000000; border-bottom: 1px solid #000000; background-color: #ECE9D8;
                    font-family: Tahoma; font-size: 8pt; color: #000000; cursor: default;">
                    <div unselectable="on" style="margin-left: 4px; height: 19px; line-height: 19px;
                        overflow: hidden;">
                        Room B</div>
                </td>
                <td valign="top" unselectable="on" style="width: 1px; border-bottom: 1px solid black;
                    background-color: #FFF4BC;">
                    <div unselectable="on" style="position: relative; height: 19px; overflow: none;">
                        <div unselectable="on" onclick="javascript:event.cancelBubble=true;alert('2');" style="position: absolute;
                            left: 200px; top: -1px; width: 398px; height: 19px; border: 1px solid #000000;
                            background-color: #FFFFFF; white-space: nowrap; overflow: hidden; font-family: Tahoma;
                            font-size: 11px; cursor: pointer;">
                            <div unselectable="on" style="width: 400px; margin-left: -1px; height: 2px; background-color: Blue;
                                font-size: 1px; position: relative;">
                            </div>
                            <div unselectable="on" style="width: 398px; height: 1px; background-color: #000000;
                                font-size: 1px; position: relative;">
                            </div>
                            <div unselectable="on" style="display: block; padding-left: 1px;">
                                Event 3
                            </div>
                        </div>
                    </div>
                </td>
                <td unselectable="off" onclick="javascript:alert('2012-04-01T00:00:00, B');" onmouseover="this.style.backgroundColor='#FFED95';"
                    onmouseout="this.style.backgroundColor='#FFF4BC';" style="border-bottom: 1px solid #000000;
                    width: 19px; background-color: #FFF4BC; cursor: pointer;">
                    <div unselectable="on" style="display: block; width: 18px; height: 19px; border-right: 1px solid #EAD098;">
                        <!-- -->
                    </div>
                </td>
                <td unselectable="off" onclick="javascript:alert('2012-04-02T00:00:00, B');" onmouseover="this.style.backgroundColor='#FFED95';"
                    onmouseout="this.style.backgroundColor='#FFFFD5';" style="border-bottom-width: 1px;
                    border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); width: 20px; cursor: pointer;
                    background-color: rgb(255, 255, 213);">
                    <div unselectable="on" style="display: block; width: 19px; height: 19px; border-right: 1px solid #EAD098;">
                        <!-- -->
                    </div>
                </td>
                <td unselectable="off" onclick="javascript:alert('2012-04-03T00:00:00, B');" onmouseover="this.style.backgroundColor='#FFED95';"
                    onmouseout="this.style.backgroundColor='#FFFFD5';" style="border-bottom: 1px solid #000000;
                    width: 20px; background-color: #FFFFD5; cursor: pointer;">
                    <div unselectable="on" style="display: block; width: 19px; height: 19px; border-right: 1px solid #EAD098;">
                        <!-- -->
                    </div>
                </td>

&#39;

1 个答案:

答案 0 :(得分:1)

看起来你刚刚得到过滤器的语法有点不对劲。您需要使用"attribute equals" selector

$( "table" ).selectable({
    filter: 'tbody td[unselectable="off"]'
});

目前,您正在寻找unselectable类型的任何元素,它是td元素的后代,并使用名为:off的伪选择器,两者都不存在。