jquery-ui按钮不起作用

时间:2012-09-13 18:45:18

标签: jquery jquery-ui

的HTML

<input type="checkbox" name="bar" value="1" id="id_bar" />
<label for="id_bar">Bar</label>

静态文件

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.8.0.min.js"><\/script>')</script>
<script type="text/javascript" src="/static/js/vendor/jquery-ui-1.8.23.custom.min.js"></script>
<link rel="stylesheet" href="/static/css/overcast/jquery-ui-1.8.23.custom.css" />

脚本

$(document).ready(function(){
    var checkboxes = $('input[type=checkbox]');
    try{
        $(checkboxes).button();     
    }
    catch(e)
    {
        alert(e);
    }
});

疑问

我没有收到任何错误,脚本运行得很好,但即使执行命令后,复选框也没有变化,请帮忙。

5 个答案:

答案 0 :(得分:1)

您正在寻找按钮组而不是按钮

来自jquery ui docs:电台和复选框使用buttonset()

  $(document).ready(function() {
    $("#radio").buttonset();
  })

答案 1 :(得分:0)

你试过了吗?

$(checkboxes).click(); 

答案 2 :(得分:0)

请改为尝试:

$(document).ready(function(){
   var checkboxes = $('input[type=checkbox]');
   try{
       checkboxes.button();      
   }
   catch(e)
   {
      alert(e);
   }
});

或者替代

$(document).ready(function(){
   try{
       $('input[type=checkbox]').each(function(index){
           $(this).button();   
       });     
   }
   catch(e)
   {
      alert(e);
   }
});

答案 3 :(得分:0)

你试过这些吗?

var checkboxes = $('input[type="checkbox"]');

checkboxes.button();

<强>更新

checkboxes.buttonset();

更新2

<form>
    <div id="radio">
        <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1</label>
        <input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label>
        <input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label>
    </div>
</form>

然后

<script>
    $(function() {
        $( "#radio" ).buttonset();
    });
</script>

答案 4 :(得分:0)

我知道这是一个过度陈述,但是当它带有样式按钮和表单时,Jquery UI并不友好。

我建议使用http://twitter.github.com/bootstrap/,因为它们使用简单的类样式。

回到回答你的问题。
var复选框通常表示有多个复选框。 那么也许使用.each()?

$('input[type=checkbox]').each(function(index, value) {
  $(this).click();
});

您可以使用$(this).is(':checked')查看是否选中了复选框。