默认情况下无法预先选择所需的单选框
Not being able to pre-select desired radio box by default
我正在尝试默认情况下预先选择高级交付。我在网上看,真的不明白为什么它不预先选择第二个广播箱。请找到我的JSfiddle 链接
我的代码也是:
jQuery(document).ready(function() {
waitForDelayedContent('#checkout-shipping-method-load .input-checkout-radio .method-title:contains(Take it to my room)', function() {
jQuery('#checkout-shipping-method-load .input-checkout-radio:not(.mtC) .method-title:contains(Take it to my room)').click();
jQuery('#checkout-shipping-method-load .input-checkout-radio:not(.mtC):has(.method-title:contains(Take it to my room)) .radio').click();
jQuery('#checkout-shipping-method-load .input-checkout-radio:has(.method-title:contains(Take it to my room))').addClass('mtC');
});
});
<div id="checkout-shipping-method-load">
<div class="sp-methods">
<h3 class="title">Delivery Option</h3>
<p>You must select a delivery option.</p>
<ul>
<li class="delivery-method">
<div class="input-checkout-radio">
<input checked="checked" class="input-radio" id="s_method_standard" name="shipping_method" type="radio" value="paragon_customrate_standard">
<label class="radio-label" for="s_method_standard"><span class="radio"></span> <span class="method-title">FREE Take it to
my door</span>
</label>
</div>
</li>
<li class="delivery-method">
<div class="input-checkout-radio">
<input class="input-radio" id="s_method_premium" name="shipping_method" type="radio" value="paragon_customrate_premium">
<label class="radio-label" for="s_method_premium"><span class="radio"></span> <span class="method-title"><span class=
"price"><span class="currency">£</span>39</span>Take it to my room</span>
</label>
</div>
</li>
</ul>
</div>
</div>
这是因为第一个无线电盒子有checked="check"
。把它移到第二个无线电盒子上,让它工作。不需要JavaScript。查看此更新的小提琴:http://jsfiddle.net/n5h65n73/
或者,如果你真的需要使用JavaScript:
$("#s_method_premium").prop("checked", true)
问题在HTML中。在第一个无线电输入上设置了checked="checked"
属性。因此,如果您删除该属性并将其移动到第二个属性,它将按您的意愿工作。
<div id="checkout-shipping-method-load">
<div class="sp-methods">
<h3 class="title">Delivery Option</h3>
<p>You must select a delivery option.</p>
<ul>
<li class="delivery-method">
<div class="input-checkout-radio">
<input class="input-radio" id="s_method_standard" name="shipping_method" type="radio" value="paragon_customrate_standard">
<label class="radio-label" for="s_method_standard"><span class="radio"></span> <span class="method-title">FREE Take it to
my door</span>
</label>
</div>
</li>
<li class="delivery-method">
<div class="input-checkout-radio">
<input checked class="input-radio" id="s_method_premium" name="shipping_method" type="radio" value="paragon_customrate_premium">
<label class="radio-label" for="s_method_premium"><span class="radio"></span> <span class="method-title"><span class=
"price"><span class="currency">£</span>39</span>Take it to my room</span>
</label>
</div>
要使用jQuery实现这一点,以下是代码片段:
$('#s_method_premium').attr('checked', 'true');
基本的解释是,您使用jQuery的attr
方法来修改具有所需值(即第二个参数)的属性(即第一个参数)。然后,两行代码的必要性是在设置第二行代码之前删除第一行检查的代码。
这有帮助吗?
相关文章:
- 基于单选框更新页眉,选中并选择输入文本
- 如果所有单选框在jQuery中都有一个选择,则显示一个元素
- 默认情况下无法预先选择所需的单选框
- 如何发布单选和复选框选择?表单由php和js处理
- 当选择特定的单选框时,使用jquery禁用循环中的文本框
- 单选按钮选择列表框更改并将 NULL 值传递给每个列表框
- 如果选中单选框或选择菜单更改,则运行自定义js函数
- 来自选择 / 单选框的屏幕上的 Javascript 计算
- 更改单选按钮选择时清除复选框
- 如何取消用户的单选按钮选择,在确认对话框后取消选择
- 使用javascript切换复选框和单选按钮选择
- 编译输入类型文本、复选框、单选和选择标记时显示按钮
- 禁用基于其他单选框选择的文本框
- 复选框选择时的表单重定向
- 如何使用单选按钮值将限制设置为复选框选择
- 在单选按钮选择上生成输入框
- 如何显示或隐藏基于单选按钮选择的文本框
- 电子邮件发送表单,复选框选择,复选框限制
- AngularJS e2e测试选择(下拉)、输入单选框和输入复选框之间的差异
- 在angularjs上的单选框选择项