我有一个数组列表,如下所示
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
时,我没有得到所选的电话,但随后它将阵列中的所有电话返回给用户
从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>