【问题标题】:Cannot update radio input无法更新无线电输入
【发布时间】:2016-05-19 09:51:15
【问题描述】:

我有两个单选按钮

<div class="radio">                            
   <input class="i-radio" type="radio" name="rbtnRoundTrip" checked="checked" value="OneWayTrip" />
</div>
<div class="radio">                            
   <input class="i-radio" type="radio" name="rbtnRoundTrip" value="RoundTrip" />
</div>

我的变量有一个值

Var Tripway;

那是“OneWayTrip”或“RoundTrip”所以现在我正在尝试选择相应的单选按钮。

$('#FormSearch input[type="radio"][name="rbtnRoundTrip"][value="' + Tripway + '"]').trigger('click');

但此代码从不选择值为“RoundTrip”的单选按钮。即使变量的值为“RoundTrip”,单选按钮也始终在 OneWayTrip 上被选中

【问题讨论】:

    标签: javascript jquery json json.net


    【解决方案1】:

    这样做

    $('#FormSearch input[type="radio"][name="rbtnRoundTrip"][value="' + Tripway + '"]').prop("checked", true).trigger('click');
    

    考虑到你也想触发点击事件。

    如果您使用的是旧 jquery,则使用 .attr("checked", "checked") 而不是 .prop("checked", true)

    【讨论】:

      【解决方案2】:

      您应该使用prop() 方法而不是trigger('click'),如下所示。

      var Tripway = "RoundTrip";
      $('#FormSearch input[type="radio"][name="rbtnRoundTrip"][value="' + Tripway + '"]').prop('checked', true);
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
      <form id="FormSearch">
          <div class="radio">
              <input class="i-radio" type="radio" name="rbtnRoundTrip" checked="checked" value="OneWayTrip" />
          </div>
          <div class="radio">
      
              <input class="i-radio" type="radio" name="rbtnRoundTrip" value="RoundTrip" />
          </div>
      </form>

      【讨论】:

      • 不,它不工作。它不是选择第二个单选按钮
      • 这取决于Tripway 值。将 Tripway 值更改为 RoundTrip。 @焦点
      • 在调试器上我正在使用“对象不支持属性或方法'prop'”
      • 我不知道你是怎么尝试的。你能展示你的完整代码或创建一个小提琴吗? @焦点
      猜你喜欢
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-23
      • 2013-08-16
      • 2017-05-10
      • 1970-01-01
      • 2015-10-23
      相关资源
      最近更新 更多