【问题标题】:How to trigger a click on checked radio button in jquery or javascript如何在jquery或javascript中触发单击选中的单选按钮
【发布时间】:2019-07-19 10:45:14
【问题描述】:

Javascript:

if (GetCookie('prev_radio_value')!=null){   
     alert(GetCookie('prev_radio_value'));
     $(":radio[value="+GetCookie('prev_radio_value')+"]").attr('checked',true);
     $(":radio[value="+GetCookie('prev_radio_value')+"]").triggerHandler('click');

     $(':radio:checked').triggerHandler('click');

     $('input:radio[name=theme]:checked').click();

    }else{
        alert("clicking first");
     $("input:radio:first").attr("checked", true).trigger("click"); 
     }

HTML 代码:

<ul>
 <li><input type="radio"  name="theme" value="theme1"/>Theme1</li>
 <li><input type="radio"  name="theme" value="theme2"/>Theme2</li>
 </ul>

这段代码在 div 里面 -> 'checkbox_div'

点击功能:

$("#checkbox_div input:radio").click(function() {
  alert("clicked") ;
 });

我已经通过 3 种方式使用了触发点击,但都没有工作或触发点击事件。

示例链接:http://jsbin.com/ezesaw/1/edit 在选择第一个单选按钮时不会触发点击事件。

【问题讨论】:

  • attr() 更改为prop(),因为checked 属性应始终设置为prop(),否则会出现问题。此外,您应该在单选按钮上使用change 事件,而不是click 事件,并使用input[type="radio"] 而不是input:radio
  • 另外,你要找的是$('#checkbox_div input[type="radio"]:checked').trigger('click');
  • $("input[type='radio' value="+GetCookie('prev_radio_value')+"]").prop('checked',true); ...抛出异常 .... 像这样 ..........未捕获的错误:语法错误,无法识别的表达式:[type='radio' value=theme1]
  • @adeneo 它不工作:(
  • 这到底是什么?你应该阅读 jQuery 文档,你不能那样做。

标签: javascript jquery jquery-ui


【解决方案1】:

只需调用“click()”而不将函数作为参数

$("#checkbox_div input:radio").click();

【讨论】:

  • 这不起作用......它没有触发点击事件......但它甚至如何知道点击了哪个单选按钮......如果我想错了,你能纠正吗?
【解决方案2】:

效果很好:

http://jsbin.com/ivojoz/1/edit

问题可能是您没有正确选择收音机

试试

$('#checkbox_div input[type="radio"]').click(function() {
  alert("clicked") ;
 });

【讨论】:

  • 这个功能可以正常工作....但是我想在选中的单选按钮上触发点击事件...在文档加载时......
  • 点击事件不会在选择第一个收音机时触发...dono y ....http://jsbin.com/ezesaw/1/edit
【解决方案3】:
    $("#checkbox_div").on('click','input:radio', function() {

      alert("clicked");

    });

试一试这段代码。它对我有用。

【讨论】:

    【解决方案4】:

    如果你仍然对这个问题感兴趣:

    click 事件是在选择/检查单选按钮时隐含的,您只需要bind 对其进行处理,这只是一种方法:

    //js for radio button click
    $('input[type="radio"]').on('click', function(){
        window.alert($(this).val());
    })
    
    <!--html-->
    <input type="radio" value="first" name="same"/>
    <input type="radio" value="second" name="same"/>
    <input type="radio" value="third" name="same"/>
    

    【讨论】:

      【解决方案5】:

      无论是手动还是编程,似乎点击一个已经选中的单选按钮不一定有任何效果!

      假设 HTML 为:

      <input type="radio" name="rv_submit" value="delete" id="rb2" checked>
      

      通过jQuery触发需要的动作如下:

      $('#rb2').prop('checked', false);   // Turn off 'checked' ...
      $('#rb2').click();                  // ... or click() has no effect
      

      【讨论】:

        猜你喜欢
        • 2015-05-26
        • 1970-01-01
        • 1970-01-01
        • 2018-03-15
        • 2013-01-28
        • 2011-06-05
        • 2022-01-01
        • 1970-01-01
        • 2019-04-01
        相关资源
        最近更新 更多