选择具有最高数据销售属性的选项

时间:2016-05-31 06:53:13

标签: javascript jquery html input radio-button

对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

我必须将数据销售属性附加到容器范围。

感谢您的帮助。

1 个答案:

答案 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