Jquery mobile:如何动态禁用列表项?

时间:2014-04-02 19:14:10

标签: jquery jquery-mobile

请告知我如何禁用列表项(动态)?

情景是:

我在列表视图中有10个列表项,在应用程序启动时全部启用。 现在,当用户选择任何列表项时,我需要禁用九个列表项的其余部分。

3 个答案:

答案 0 :(得分:4)

在jQuery Mobile中,您可以将类ui-state-disabled添加到listitem中的锚标记以禁用它。因此,当您单击其中一个时禁用所有其他列表项:

$(document).on("pagecreate", "#page1", function(){
    $("#theList li a").on("click", function(){        
        $("#theList li a").addClass("ui-state-disabled");   
        $(this).removeClass("ui-state-disabled");  
    });   

    $("#btnClear").on("click", function(){ 
        $("#theList li a").removeClass("ui-state-disabled");
    });
});

注意:theList是UL的id,btnClear是单独按钮的id,用于从所有列表项中删除禁用的tate。

  

<强> DEMO

答案 1 :(得分:1)

$(selector).addClass('disabled');

我可以在没有更多细节的情况下给出最佳答案。

答案 2 :(得分:1)

同意@Rene,您需要提供更多详细信息。这个抽象问题的通用(不是最干净的)解决方案是:

CSS:

.disabled {
    pointer-events: none;
    /* other styles: grayed background etc. */
}

JS(与之前的答案相同):

$(selector).addClass('disabled');

这样可以禁用它,而无需在点击时在JavaScript中检查其状态。