首先,请原谅我的英语不好。
我尝试了各种各样的方法,但到目前为止还没有运气。
我正在使用.each()方法返回一系列对象。
我想用对象中的每个值填充输入字段的“value”属性。 我没有找到与PHP相同的方法。=
任何想法都会很棒!
这是我的代码:
$.each($("input[type='checkbox']:checked"), function(){
var data = $(this).parent().parent().find("td:eq(1)");
$("#login").val(data.text());
})
答案 0 :(得分:14)
您可以使用map()。您可以将delimiter
字符传递给join()以分隔对象。
text = $("input[type='checkbox']:checked").map( function(){
return $(this).parent().parent().find("td:eq(1)");
}).get().join();
$("#login").val(text);
答案 1 :(得分:6)
var c = '';
$.each($("input[type='checkbox']:checked"), function(){
var data = $(this).parent().parent().find("td:eq(1)");
c += data.text();
})
$("#login").val(c);
你也可以在循环中使用它:
$("#login").val($("#login").val(c)+data.text());
但我个人更喜欢尽量减少DOM的变化。
另请注意,使用parent().parent()
之类的遍历会导致维护问题。在你的情况下你可以使用
var data = $(this).closest('tr').find("td:eq(1)");
这样,如果span
或任何其他元素将来包装您的输入,代码就不会中断。