我有下面的HTML文件。我尝试将item对象传递给javascript函数: linkClickFunc,这样我就可以进一步处理它。
但是我不能用下面的语法做到这一点。有人能告诉我我做错了什么吗?
<div class="container">
<h2>CodeConfig Keys</h2>
<br>
<div id="key-buttons">
</div>
</div>
<script type="text/javascript">
function linkClickFunc(item)
{
console.log(item);
}
</script>
<script>
$(document).ready(function(){
CodeConfigkeys = {"ENV": [{"NAME": "Subhayan", "Values": [{"AGE": 33, "SEX": "Male"}]}, {"NAME": "Mary", "Values": [{"AGE": 29, "SEX": "Female"}]}], "DB_PARAMS": [{"NAME": "SQL_CONNECTIONS_DB", "Values": "templates"}, {"NAME": "SQL_CONNECTIONS_COLLECTION", "Values": "dbtemplates"}]};
var html_str = "";
$.each( CodeConfigkeys, function( key, value ){
html_str = html_str + "<div class=\"btn-group dropdown\">";
html_str = html_str + "<button type=\"button\" class=\"btn btn-primary dropdown-toggle btn-primary-spacing\" data-toggle=\"dropdown\" id=\"" + "CodeConfigMenus" + "\">" + key;
html_str = html_str + "</span><span class=\"sr-only\">Toggle Dropdown</span></button>";
html_str = html_str + "<div class=\"dropdown-menu\">";
value.forEach(function(item, index, array) {
console.log(item);
console.log (typeof item);
html_str = html_str + "<li><a onclick=\"linkClickFunc($(" + "'" + item + "'" + "));\">" + item["NAME"] + "</a></li>";
});
html_str = html_str + "</div></div>";
});
console.log(html_str);
$("#key-buttons").html(html_str);
});
</script>
我在网上找过可能的解决方案,但找不到合适的方案。
提前谢谢。
发布于 2018-05-31 18:08:49
把你的台词改一下
html_str = html_str + "<li><a onclick=\"linkClickFunc($(" + "'" + item + "'" + "));\">" + item["NAME"] + "</a></li>";
使用
html_str = html_str + "<li><a onclick='linkClickFunc("+JSON.stringify(item)+")'>" + item["NAME"] + "</a></li>";
https://stackoverflow.com/questions/50621345
复制相似问题