-1

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);
    }
});

怀疑

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

4

5 回答 5

1

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

来自jquery ui docs:radio 和 checkbox 使用 buttonset()

  $(document).ready(function() {
    $("#radio").buttonset();
  })
于 2012-09-13T18:52:03.450 回答
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);
   }
});
于 2012-09-13T18:51:39.353 回答
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>
于 2012-09-13T18:52:43.153 回答
0

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

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

回到回答你的问题。
var checkboxes 通常意味着有多个复选框。所以也许使用.each()?

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

如果需要,您可以使用 $(this).is(':checked') 来查看复选框是否被选中。

于 2012-09-13T18:53:17.900 回答
0

你有没有尝试过:

$(checkboxes).click(); 
于 2012-09-13T18:48:47.187 回答