如何在应用jquery buttonset()后取消选中所有具有相同类名的单选框

How to uncheck all radio boxes with same class name but after applying jquery buttonset()

本文关键字:同类 单选框 取消 应用 jquery buttonset      更新时间:2024-06-21

这段代码对我来说很好,但只有默认的HTML单选按钮才能控制

$('.block1').on("click", function(event){
  $('.block1').prop('checked', false);
  $(this).prop('checked', true);
});

http://sfiddle.net/bAhmed/zNq9R但当我将单选按钮的默认UI更改为$(".col-lg-4").buttonset()时;

那么上面的代码对我不起作用。因为它改变了jquery-ui.css和jquery.js 的行为或应用了一些其他默认类

最终目标是使用.block1类取消选中所有其他单选按钮,但在应用.buttonset()

之后

从提供的信息中判断出您的问题到底是什么有点困难,但在我看来,您的问题可能源于jQuery UI的buttonset函数所做的DOM重排。

看起来您是在挂接之前直接在单选按钮输入元素上触发的'click'事件。调用buttonset()jQueryUI后,会折叠您注册了单击处理程序的输入元素,使其不可单击。因此,如果您想在调用buttonset函数后挂接按钮集中的单击事件,则必须在调用buttonset函数后在另一组元素上注册处理程序。我建议使用jQueryUI创建的标签元素。你的代码可能看起来像这样:

$(function() {
  $(".col-lg-4")
      .buttonset()
      .find('label.ui-button')
      .on('click', function() {
    $('.block1').prop('checked', false).button('refresh');
    var targetId = '#' + $(this).attr('for');
    $(targetId).prop('checked', true).button('refresh');
  });
});

希望能有所帮助!