我想在JavaScript内添加一个具有HTML标记的PHP脚本。您可以在下面看到我尝试的代码。但这并不能说明存在错误
<script type='text/javascript'>
//<![CDATA[
$(document).ready(function() {
var currentItem = 11;
$('#addnew').click(function(){
currentItem++;
$('#items').val(currentItem);
var strToAdd = '<tr><td><select class="form-control select2" name="product'+currentItem+'" id="product'+currentItem+'" style="width: 100%">'+
<?php foreach ($productData as $product) { echo "<option value='" . $product->product_id . "'>" . $product->product_name . "</option>"; }?>+
'</select> </td><td><input class="form-control" name="quantity'+currentItem+'" id ="quantity'+currentItem+'"type="text" /></td>
<td><input class="form-control" name="freeIssue'+currentItem+'" id="freeIssue'+currentItem+'" type="text" /></td>
<td align="center"><button class="btn btn-danger" name="close" id="close" onclick="SomeDeleteRowFunction(this)"><i class="fa fa-close"></i></button></td></tr>';
$('#data').append(strToAdd);
});
$('#remove').on("click", function(){
$('#data tr:last').remove();
})
});
//]]>
</script>
这是我得到的错误:
答案 0 :(得分:1)
您需要在'
之后放置一个额外的echo "
,否则您将无法获得所需的JavaScript字符串,例如'<option... >'
,但是却得到了<option... >
,这意味着js中没有任何内容代码。
echo "'<option value='" . $product->product_id . "'>'"