如何获取循环中的字符串v并使用jquery将值添加到输入id“MyInput”
以下是我的代码的简化版
var d='';
$.each(row,function(i,v){
//v = <div><p>gxsfsd</p><p>gxsfsd</p><input type="hidden" id="Myinput" /><p>gxsfsd</p><p>gxsfsd</p><p>gxsfsd</p></div>"
$(v).find("#MyInput").val("text set 1");
d+= v;
});
答案 0 :(得分:2)
你可以试试这个
var d='';
$.each(row,function(i,v){
d += v;
$('#MyInput').val(d);
});
答案 1 :(得分:1)
您可以直接访问该元素,并且在您知道控件ID时无需查找,前提是该ID是唯一的。
试试这个,
var d='';
$.each(row,function(i,v){
d+= v;
$("#MyInput").val(d);
});
答案 2 :(得分:1)
如果您在页面中多次使用相同的ID,则访问元素时会遇到问题。
如果使用属性选择器而不是id选择器,仍然可以使用
var d='';
$.each(row,function(i,v){
//v = <div><p>gxsfsd</p><p>gxsfsd</p><input type="hidden" id="Myinput" /><p>gxsfsd</p><p>gxsfsd</p><p>gxsfsd</p></div>"
$(v).find("[id=MyInput]").val("text set 1");
d+= v;
});
答案 3 :(得分:1)
正如已经指出的那样,多次使用类而不是相同的ID,或者如果你还有上下文的话,就把它们都留下来......我会做this fiddle之类的事情:
var d = [], // collect in an array for better handling
row = $('.row');
$.each(row, function(i,v){
var input = $('input', $(v));
input.val("text set "+i);
d.push(v);
});
console.log(d);
请注意,我的带有.row div的HTML只是作为一个例子,只要我知道你的“行”是什么类型的对象,我就可以调整这个解决方案。