2012-03-08 68 views
0

當我在此複選框上單擊(模態窗體中)調用函數

<input id="selectallcreate" type="checkbox" value="1" name="selectallcreate"> 

它將使用此代碼總是返回

if ($('#selectallcreate').is(':checked') == true){}; 

而且這個代碼將工作完美的任何網頁是不是莫代爾。除此之外,模式形式完美運作。

回答

2

請確保您的DOM中只有一個id爲selectallcreate的實例。你可能會驚訝地發現你有兩個。這發生在我身上。我會說,試着找到$('QueryToGetDialogDiv').find("#selectallcreate")這個複選框,這樣你就可以確定你抓住了正確的div。

+0

我相信jQuery沒有克隆對話框中的任何字段。它會打敗整個目的。$('#selectallcreate')比使用$('QueryToGetDialogDiv')。find(「#selectallcreate」)更好。 – 2012-03-08 18:19:45

+0

我試着將它改爲class =「selectallcreate」及其工作方式。 – Yannick 2012-03-08 18:24:20

+0

僅供參考:刪除jQuery零件克隆以使答案更具普遍性,因爲頁面創建者可能意外地將兩個相同的ID放在一起。 – DMCS 2012-03-08 18:38:56

0

你共享的代碼看起來很好。只要沒有其他腳本錯誤,它應該可以正常工作。

DEMO here

請嘗試演示,讓我們知道,如果它是從您的代碼不同。

+0

它是因爲我使用了ID並添加了它的其他實例。感謝您的演示 – Yannick 2012-03-08 18:33:12

+0

如果您將'彈出窗口外的複選框添加到「id =」dialog-modal「 div在你的jsFiddle中,你會看到它的失敗方式與上述相同。 – DMCS 2012-03-08 18:42:01

+0

@DMCS您可以編輯小提琴並共享鏈接..當我將彈出框外的複選框移出時,它工作正常。 – 2012-03-08 18:44:15