我有一个数组列表,如下所示
var items = ['Iphones','Samsung','Huawei'],如下所示。
HTML和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>
为li_of_phones
该类的单个元素。
您可以将拆分后的响应循环到foreach中,并为每个结果创建不同的li元素。
const results = 'Iphones, Samsung, Huawei';
let phonesList = '';
results.split(',').forEach(phone => {
phonesList += '<li class="li_of_phones">' + phone.trim() + '</li>';
});
$('.data_box').html(phonesList).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">
<ul class="data_box"></ul>
</div>
您可能必须更改结果列表项的某些CSS样式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句