【问题标题】:Radio button is not checked in ui but programmatically it is checked单选按钮未在 ui 中选中,但以编程方式已选中
【发布时间】:2019-06-19 04:07:23
【问题描述】:

我必须使用名称不同的无线电输入,因此我需要先使用 jquery 删除所有选中的无线电,然后仅通过与单击的输入名称匹配的输入无线电的相同名称添加检查。

我正在尝试使用 jquery 以编程方式在单选按钮中添加选中状态,但它在 ui 上出现问题。当我单击但正在提交表单时,它没有被选中。

当我点击第一个收音机时,它会给我以下信息

https://imgur.com/a/1rpkLMv

这是我的 jquery 代码;

camperElement.imageContent.on('click', camperElement.standardRadio, function (e) {
            e.preventDefault();
            camperElement.hiddenStandard.attr('name',e.target.name);
            camperElement.hiddenStandard.val(e.target.value);
            camperElement.standardRadio.each(function () {
                if ($(this).attr('name') !== e.target.name) {
                    $(this).removeAttr('checked');
                }else{
                    $(this).prop('checked',true);
                    $(this).attr('checked','')
                    $(this)[0].checked = true;
                }
            });
        });

【问题讨论】:

    标签: javascript jquery radio-button


    【解决方案1】:
    $("#important-radio").prop('checked', true);
    

    应该可以,你确定 $(this) 选择了正确的元素吗?

    您可以将整个图像包装到 label 元素中,而不是向图像添加点击侦听器

    <label>
      <img src="https://via.placeholder.com/150" />
      #1
      <input type="radio" name="myRadio" value="first">
    </label>
    <label>
      <img src="https://via.placeholder.com/150" />
      #2
      <input id="important-radio" type="radio" name="myRadio" value="second">
    </label>
    <label>
      <img src="https://via.placeholder.com/150" />
      #3
      <input type="radio" name="myRadio" value="third">
    </label>

    【讨论】:

    • 我必须使用名称不同的无线电输入,因此我需要使用 jquery 来删除所有选中的第一个并仅通过单击输入名称的相同输入无线电添加检查。如您所见,您的解决方案之前已应用。
    猜你喜欢
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    相关资源
    最近更新 更多