我的脚本中有问题。 我在PHP中有一个循环,在html中显示这个,这项工作很好:
<?php foreach ($locations as $key => $value) : ?>
<div class="storelocator-info" data-id="<?= $value['codepostal']; ?>"
style="display: block;">
<p class="title-depot"><?= $value['name']; ?></p>
</div>
<?php endforeach ; ?>
现在我有一个搜索栏,我输入一个像11或11111这样的邮政编码,在我的控制器中发送ajax,我会以json格式返回结果:
try {
jQuery.ajax({
url: url,
dataType: 'json',
type: "POST",
data: form.serialize(),
success: function(data) {
if (data['success'] === false){
var index;
var a = data.zip;
for (index = 0; index < a.length; ++index) {
jQuery('.storelocator-info').hide();
jQuery('.storelocator-info[data-id='+a[index]+']').show();
}
jQuery('.storelocator-error').hide();
} else{
jQuery('.moulinroty-loader').hide();
jQuery('.storelocator-info').hide();
jQuery('.storelocator-error').fadeToggle();
}
}
});
} catch (e) {
console.log('error' + e);
}
data.zip是一个像这样的数组[&#39; 85000,85001&#39;]; 我只想展示&#34;&#34;其中data.zip ==带有javascript或jquery的data-id属性。
结果只显示数组中最后一个data-id = 85001的结果, 所以我想显示85000和85001
你能解释一下我的错误或错误在哪里吗?
感谢您的帮助
答案 0 :(得分:0)
您正在隐藏循环的每次迭代中的所有元素。之前隐藏它们然后显示需要显示的那些:
bundle info [gemname]
&#13;