0

我有这样的编码,我想让单选按钮在用户输入跨度值中的字符计数匹配时被选中,我没有跨度的任何 id 和单选按钮。我只有类名,它列出了 ul。我想通过 jquery 来做到这一点。

Enter your name: <input type="text">
<div class="attribute_list"> 
    <ul>                                                                                 
        <li><input type="radio" value="22" name="group_5" class="attribute_radio"><span>10</span></li>
    </ul>
    <ul>                                                                                 
        <li><input type="radio" value="23" name="group_5" class="attribute_radio"><span>14</span></li>
    </ul>
</div>

我的jquery是这样的,

<script>
    $(document).ready(function(){
      $("input").keyup(function(){
        var y=$("input").val();
        var x=$(".attribute_list span").html();   
        if(x==y)
        {
          alert(x);
        }
      });
    });
</script>

而不是警报,我需要选择该单选按钮。任何帮助请..

这是 JSFiddle:http: //jsfiddle.net/manibtechit/DDHBE/

4

3 回答 3

1

虽然您已经接受了答案,但我将提供自己的方法,如下所示:

$('input[type="text"]').on('keyup', function(){
    var len = this.value.length;
    $('span').filter(function(){
        return $.trim($(this).text()) == '' + len;
    }).prev().prop('checked',true);
});

JS 小提琴演示

参考:

于 2013-09-10T07:10:44.253 回答
1

工作小提琴

$(document).ready(function () {
    $("input").keyup(function () {
        var y = this.value;
        var x = [];
        $(".attribute_list span").each(function () {
            x.push($(this).text());
        });
        if (x.indexOf(y) != -1) {
            $('span').filter(':contains(' + y + ')').prev('input:radio').prop('checked', true);
        }
    });
});
于 2013-09-10T07:05:33.583 回答
1

试试看This,这对你更有帮助

    $(document).ready(function(){
  $("input").keyup(function(){
     var y=$("input[type=text]").val();
     var x=$(".attribute_list span").html();   
    $('input[type=radio]').each(function(){
        if($(this).next('span').html()==y)
           $(this).prop('checked',true);
        else
          $(this).prop('checked',false);

       });

  });
});
于 2013-09-10T07:05:40.453 回答