选择不同的单选按钮

时间:2017-08-18 21:40:02

标签: jquery

我在检查同一组中的另一个单选按钮时无法删除课程。现在,班级坚持,永不消失。

$(function(){

$('input[name=radio]').change(function(){          
        if($(this).is(":checked")){
              $(this).closest('div').addClass("payBoxSelected");
            } else {
              $(this).closest('div').removeClass("payBoxSelected");
            }                                               
   });

});

知道为什么这不起作用吗?

3 个答案:

答案 0 :(得分:0)

不知道这是不是最佳做法,但这会有效:

var inputs$ = $('input[name=radio]');
inputs$.change(function () {
    inputs$.each(function (index, el) {
        if ($(el).is(":checked")) {
            $(el).closest('div').addClass("payBoxSelected");
        } else {
            $(el).closest('div').removeClass("payBoxSelected");
        }
    });
});

答案 1 :(得分:0)

试试这个:

$(document).ready(function () {
    $('input[type=radio]').click(function () {
        $('input[name='+$(this).attr('name')+']:not(:checked)').removeClass("payBoxSelected");
        $('input[name='+$(this).attr('name')+']:checked').addClass("payBoxSelected");
    });    
});​

答案 2 :(得分:0)

因为你只是更改(添加或删除)被检查的无线电的类,所以其他无线电不会改变(因此似乎卡住了)。如何首先从所有类中删除类,然后仅将所需的类添加到已检查的无线电?

试试这个:

 gettimeofday(&tv, NULL);
  millisec = lrint(tv.tv_usec/1000.0); // Round to nearest millisec
  if(millisec>=1000) {                 // Allow for rounding up to nearest second
    millisec -=1000;
    tv.tv_sec++;
  }

  timeinfo = localtime(&tv.tv_sec);

  /* save every file with the time certificate was catched */
  strftime(filename, sizeof(filename), "cert_%Y-%m-%d_%H-%M-%S-%%03u.der", timeinfo);
  snprintf(buff, sizeof(buff), filename, tv.tv_usec);