1

如何获取循环中的这个字符串 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;

    });
4

4 回答 4

2

你可以试试这个

var d='';

$.each(row,function(i,v){
   d += v;
   $('#MyInput').val(d);
});
于 2012-09-03T14:22:09.340 回答
1

当您知道控件的 id 时,您可以直接访问元素而无需查找,只要 id 是唯一的。

试试这个,

var d='';

$.each(row,function(i,v){
   d+= v;
   $("#MyInput").val(d);
});
于 2012-09-03T14:19:32.453 回答
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;

});
于 2012-09-03T14:24:31.787 回答
1

正如已经指出的那样,多次使用类而不是相同的 ID,或者如果您有上下文,甚至将它们都保留......我会做这样的事情

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 仅作为示例,一旦我知道您的“行”是什么类型的对象,我可能会调整此解决方案。

于 2012-09-03T14:47:25.920 回答