$()。buttonset无法在对话框模式框上工作

时间:2010-06-03 11:13:28

标签: javascript jquery-ui

我已经完成了一个包含其中的表单的对话框,我想为它添加一些奇特的项目。我一直在尝试$().buttonset(),因为我已经完成了应用程序中的大多数单选按钮,以便为我的应用程序获得一致的UI。问题是,即使遵循规定的规则,按钮仍然是普通的单选按钮,而不是花哨的界面。你知道这可能是什么问题吗?

这是我想要花哨的单选按钮的表单的一部分:

<div id ="Replace">
    <input type="radio" name="Replace" value = "true"  id = "ReplaceYes" 
           onclick = "setReplace(this)" />
    <label for="ReplaceYes">Yes</label>
    <input type="radio" name="Replace" value = "false" checked="checked" 
           id = "ReplaceNo" onclick = "setReplace(this)" />
    <label for="ReplaceNo">No</label>
</div> 

然后,由于前一部分代码处于局部视图中,在显示模态框时调用,这就是我尝试转换按钮外观的方式:

$("#Replace").buttonset();

问题是,调试它我已经看到它经历了代码的那一部分,但它没有做它的意图。任何线索?

2 个答案:

答案 0 :(得分:2)

我有同样的问题,经过深刻的反思,我发现: 声明对话框时,可以指定打开时调用的函数

$( ".selector" ).dialog({
    open: function() {
        $( '#buttonset' ).buttonset();
    }
});

答案 1 :(得分:1)

已更新:之前我从未使用.buttonset(),无论如何它都会对您的标记you can see a demo here起作用。此演示使用与问题相同的代码:

$("#Replace").buttonset();

确保正确包含jQuery UI CSS,并且您的ID是唯一的,如果它们不是您将获得一些真正有趣的行为,并应切换到类。此外,确保视图的这一部分在运行时位于DOM中,例如它是在这样的document.ready事件处理程序中吗?

$(function() {
 $("#Replace").buttonset();
});