【发布时间】:2018-03-21 13:42:52
【问题描述】:
我的脚本有问题。 我在 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 是这样的数组 ['85000,85001']; 我只想用 javascript 或 jquery 显示 data.zip == data-id 属性的 "" 。
结果仅显示我的数组中 data-id = 85001 的最后一个结果, 所以我想显示 85000 和 85001
你能解释一下我的错误或错误在哪里吗?
感谢帮助
【问题讨论】:
-
你的错误应该在你的鼻子和你的嘴之间。对此感到抱歉
-
可能是复制错误,但
<div class="storelocator-info" data-id="<?= $value['zipdode']; style="display: block;">缺少 php 的结束标记
标签: javascript jquery arrays loops