2014-01-31 133 views
0

如何修改jquery使用var而不是'12'?如何在JQuery中使用變量

var disableId = 12; 

    if (e.currentTarget.checked) { 

     $("input:checkbox[value=12]").attr("disabled", true); 
    } 
    else { 
     $("input:checkbox[value=12]").attr("disabled", false); 
    } 
+0

$(「輸入:複選框[值='」 + disableId + 「'])。attr(」disabled「,true); –

+0

如果你直接去Anton的upvoted答案,我會在這裏指出[我在回答中說過的話](http://stackoverflow.com/a/21482280/1317805):您使用的'if'語句是不必要的,因爲您可以簡單地在'e.currentTarget.checked'中代替'true'或'false',您還應該使用'prop )'而不是'attr()'。 –

回答

1

您應該使用jQuery's prop() method代替attr()布爾值;也沒有必要在所有的IF語句,你可以只設置disabled狀態等於e.currentTarget.checked(這是可以truefalse):

var disableId = 12, 
    state = e.currentTarget.checked; 

$("input:checkbox[value='" + disableId + "']").prop("disabled", state); 
+0

謝謝James,這是一個很好的答案。 –

1

打開字符串,並將其添加

$("input:checkbox[value='"+disableId +"']").prop("disabled", true); 

也應該使用道具(),而不是爲ATTR值boleean