对jquery来说是个新手,并且无法理解这个问题。任何帮助都会非常感激。
将checked属性添加到具有最高data-attribute的无线电输入。
但是:
A 即可。如果列表底部的无线电输入具有禁用属性=“禁用”,则选择第二高选项。
e.g。
<ul class="sales">
<li><input type="radio" data-sale="20"/></li>
<li><input type="radio" data-sale="50"/></li>
<li><input type="radio" data-sale="55"/></li>
<li><input type="radio" checked="checked" data-sale="60"/></li><!--add checked attribute-->
<li><input type="radio" disabled="disabled" data-sale="90"/></li>
乙即可。如果禁用的属性不在列表的底部,仍然会检查最高的无线电。
e.g。
<ul class="sales">
<li><input type="radio" data-sale="20"/></li>
<li><input type="radio" data-sale="50"/></li>
<li><input type="radio" disabled="disabled" data-sale="55"/></li>
<li><input type="radio" data-sale="60"/></li>
<li><input type="radio" checked="checked" data-sale="90"/></li><!--add checked attribute-->
自然地,html在列表中的第一个无线电中应用了已检查。在这种情况下,数据销售= 20
我必须将数据销售属性附加到容器范围。
感谢您的帮助。
答案 0 :(得分:1)
我不确定它是否符合您的需求,但是: 首先,为收音机的按钮使用相同的名称进行链接。
<ul class="sales">
<li><input type="radio" name="rad" data-sale="20"/></li>
<li><input type="radio" name="rad" data-sale="50"/></li>
<li><input type="radio" name="rad" data-sale="55"/></li>
<li><input type="radio" name="rad" data-sale="80"/></li>
<li><input type="radio" name="rad" disabled="disabled" data-sale="90"/></li>
</ul>
Result :<span id="result"></span>
这里是Jquery代码:
var max_ds = 0;
$.each($("input:radio"), function() {
var data_sale = $(this).attr("data-sale");
if (!$(this).prop('disabled')) {
if (max_ds < data_sale) {
max_ds = data_sale;
$(this).attr("checked", true);
$("#result").empty().append(data_sale);
}
}
})
您可以查看此JSFiddle