2014-10-06 68 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