【问题标题】:Trying to set radio buttons programmatically using jquery尝试使用 jquery 以编程方式设置单选按钮
【发布时间】:2023-03-08 21:55:01
【问题描述】:

为什么这不能正常工作:

<input name="Fuel" type="radio" value="" title="Any" checked="checked">
<input name="Fuel" type="radio" value="1" title="Petrol">
<input name="Fuel" type="radio" value="2" title="Diesel">

<div class="options">Any</div>
<div class="options">Petrol</div>
<div class="options">Diesel</div>

$('.options').click(function(){
    $('input').removeAttr('checked');
    $('input[title="' + $(this).text() + '"]').attr('checked', 'checked');   
});

在此处查看工作示例:

http://jsfiddle.net/4MTL2/

在您尝试重新选择已选择的按钮之前,它可以正常工作。

【问题讨论】:

    标签: jquery radio-button


    【解决方案1】:

    试试.prop( propertyName, value )

    value 类型:字符串或数字或布尔值 为属性设置的值。

    $('.options').click(function () {
        $('input[title="' + $(this).text() + '"]').prop('checked', true);
    });
    

    Fiddle Demo

    【讨论】:

    • 神一样的。谢谢。只要 Stackoverflow 允许,我就会接受答案。谢谢你的帮助。
    • @user1001421 很高兴它帮助了:)
    • 阅读Attributes vs. Properties会帮助你了解更多。
    • 不错的一个。也感谢那个链接。现在开始变得更有意义了。
    【解决方案2】:

    最好的解决方案是使用 .click() 因为它也会触发click radio事件,这很重要

    仅更改单选选项属性或属性的另一种解决方案

    不会触发广播事件!!!!!!!!!

      $("#your_radio_option_ID_here").click()
    

    【讨论】:

      猜你喜欢
      • 2011-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      相关资源
      最近更新 更多