2012-06-25 42 views
0

我有這種情況:http://jsfiddle.net/bRDgK/3/複選框變爲未選中

在這種情況下,我有一個複選框的模態對話框。當用戶點擊複選框時,應該出現一個新的模式對話框並且應該檢查複選框。由於某些原因,複選框變爲未選中狀態。任何想法爲什麼?

回答

1

我真的不明白爲什麼,但如果我在打開子模式之前取消事件泡泡(取消firefox的事件傳播) - 複選框保持原樣。

我這裏是(僅適用於IE,因爲工作的內聯onclick事件和window.event使用):http://jsfiddle.net/bRDgK/16/

任何想法如何解決這個問題?

2

正常工作與onchange

DEMO:http://jsfiddle.net/bRDgK/10/

其他調查結果

模態似乎是問題。模式彈出並干擾點擊事件。關閉所有工作模式良好的跨瀏覽器。建議檢查jQueryUI論壇和/或報告bug

+0

當我嘗試你的jsfiddle代碼時,它仍然取消選中按鈕。我已經嘗試過使用FF,IE和Chrome,似乎沒有人工作 – ClydeFrog

+0

什麼瀏覽器,在FF中工作良好。對我來說絕對是一件奇怪的事 – charlietfl

+0

,onchange正在使用firefox,但不是IE8。 –

0

我得到它爲Firefox和IE8工作。

http://jsfiddle.net/executorjs/qevfZ/5/

我做的DoSomething的功能發生變化:

$(this).find("#ee").dialog("open"); 

也改變了一些HTML的位置:

<div id="rrr"> 
    <input type="checkbox" id="dd" onclick="doSomething();" /> 
</div> 
<div id="ee"></div> 
+0

你沒有使用UI css,所以模式沒有激活。在沒有模式的情況下,它可以工作,並且修復了我在第一個版本 – charlietfl

+0

$(this).find(「#ee」)中執行的不正確的嵌套,從而返回空的jquery對象,因此$(this).find(「#ee」)。dialog 「打開」);什麼也沒做。 – Naor

+0

請看我的回答。如果你對這個解決方案有任何解釋 - 我會很高興:) – Naor