2014-10-06 28 views
-1

更新:下面鏈接的JSFiddle已更新。這再現了問題。如何訪問jQuery UI對話框中的元素?

問題現在編輯爲請求:代碼是在這JSFiddle

toggleFundingType()函數始終返回false。

我錯過了什麼?

+0

你可以發佈一個完整的代碼示例,請讓我們可以看到/重現問題?一個jsFiddle或堆棧片段會有所幫助。 – j08691 2014-10-06 20:10:35

+0

jquery ui對話框沒有什麼魔力,它只是一個位於dom中的div。如果你的函數沒有找到複選框,它不是dom的一部分,或者與選擇器不匹配(在你的例子中,它會匹配選擇器)。在這一點上,你的問題是不可重現的。 – 2014-10-06 20:10:54

+0

也許你應該嘗試打破你的選擇器,看看有什麼作品,在你的函數中使用一些console.log。 $('input')。length $('input [name = funding_type]')。length。 – Shriike 2014-10-06 20:22:39

回答

0

想通了。

我結束了使用Firefox plugin FirePath,當您將鼠標放在元素上時,它爲您提供了最好的jQuery選擇器。

這裏是JSFiddle with the working solution

這一切都歸結爲一次選擇單選按鈕之一,輸入,則該元素的ID,如:

$('input#funding_type_encumbrance') 
1

您的代碼可以正常使用檢查Here

或者您可以使用下面的代碼(我改變選擇只是要確定對抵押單選按鈕)

function firstButtonIsChecked() { 
    if ($("#my_dialog :radio[value=encumbrance]").is(":checked")) { 
      return true; 
    } 
    else { 
      return false; 
    } 
} 
+0

爲什麼要改變選擇器有什麼不同? – j08691 2014-10-06 20:16:30

+0

如果當前選擇器正在拾取不同的元素,那麼更改選擇器會產生巨大的差異。 – Shriike 2014-10-06 20:23:53

+0

謝謝你看這個Rashmin ... – Marcus 2014-10-07 18:35:33