1

How do I take this string v that is in a loop and use jquery to add the value to the input id "MyInput"

Here is a simplified version of my code

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の代わりにクラスを複数回使用するか、とにかくコンテキストがある場合は両方を残すこともできます...私はこのフィドルのようなことをします:

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 divsを使用したHTMLは例として機能することに注意してください。「行」がどのようなオブジェクトであるかがわかったら、このソリューションを調整する可能性があります。

于 2012-09-03T14:47:25.920 に答える
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 に答える