提问者:小点点

如何获取选定的li值-jquery


我有一个数组列表,如下所示

var项目=['iPhone‘,'Samsung’,'Huawei'],我将其添加到li中,如下所示。

HTML(&S JS

<div id="host">
<div class="data_box"></div>
</div>

     $.ajax({
             dataType: 'json',
             success: function (results) { 
             $('.data_box').html('<li class="li_of_phones">'+results.toString().split(',').join('<br/>')+'</li>').slideDown();
             },});


     <script>
        $('#host').on('click', '.li_of_phones', function () {
        console.log($(this).text());
        });
      </script>

当我尝试在用户单击时获取所选li时,它返回数组即iphones,Samsung,Huawei,而不是所选手机(可能是iPhone)

为什么当用户单击li时,我没有得到所选的电话,但随后它将阵列中的所有电话返回给用户


共1个答案

匿名用户

从ajax调用中接收的结果似乎是一个逗号分隔的字符串,然后用li_of_phones类将其设置在单个

  • 元素中。

    您可以尝试在foreach中循环拆分的响应,并为每个结果创建不同的li元素。

    null

    let results = 'Iphones, Samsung, Huawei';
    
    var dataBox = $('.data_box');
    results.split(',').forEach(phone => {
       dataBox.append('<li class="li_of_phones">' + phone.trim() + '</li>');
    });
    dataBox.slideDown();
    
    $('#host').on('click', '.li_of_phones', function () {
        console.log($(this).text());
    });
    .as-console-wrapper { max-height: 5.5em !important; }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div id="host">
        <div class="data_box"></div>
    </div>