我正在尝试在循环中的变量内连接 html 并返回填充的内容。但我得到了
错误未捕获语法错误:意外的标记+=
我的代码。
<a style="cursor: pointer" id="addmore">More Entree ?</a>
<?php $json = JSON_encode($entree); ?>
<script>
function populate() {
var json = <?php echo $json; ?>;
for (var i = 0; i < json.length; i++) {
var obj = json[i];
var option += '<option value="' + obj.id + '">' + $.trim(obj.title) + '</option>';
}
return option;
}
$(function (c) {
$("a#addmore").click(function () {
console.log(populate());
//$("p").append('<select>' + populate() + '<select>');
});
</script>
最佳答案
您不能在同一范围内一遍又一遍地重新声明变量并期望它添加到之前的值。
你需要这样的东西:
function populate() {
// only declare the variables once
var json = <?php echo $json; ?>,
option = '',
obj;
for (var i = 0; i < json.length; i++) {
obj = json[i];
option += '<option value="' + obj.id + '">' + $.trim(obj.title) + '</option>';
}
return option;
}
编辑:参见an example here .
关于php - 循环语法错误 : unexpected identifier (jquery+html+php) 中的 html 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27870486/