我正在编写一段 JavaScript。我对 JS 完全陌生,但是我有一组属于 domainchkb 类的复选框,并且带有名称,全部具有不同的值。我正在尝试将它们分组到一个数组中以格式化为 JSON。执行代码时,调试器在 return this.parent().text();
处停止。我在这里做错了什么?任何帮助将不胜感激。
function format4Cart(){
var domains;
var values = $('input[name=domainchkb]:checked').map(function(){
return this.parent().text();
}).get();
domains = "{\"type\" : \"single\", \"data\" : [";
$.each(values, function(domainIndex,selected_domain){
domains += "{\"id\" : \""+selected_domain+"\", \"domain\" : \""+whois_response.data.domain+"\"},";
});
$(domains).text().replace(/(\s+)?.$/,"");
domains += "]}";
domains=encodeURIComponent(domains);
ajaxAdd2Cart(domains);
}
最佳答案
您正尝试在 DOM 元素上调用 jQuery 方法 .parent()
。为了在元素上使用 jQuery 方法,您需要将其包装在 jQuery 调用中:
var values = $('input[name=domainchkb]:checked').map(function(){
return $(this).parent().text();
}).get();
关于javascript jquery 复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9551051/