2012-09-03 59 views
1

如何利用這個字符串信息v是一個循環,使用jQuery的價值添加到輸入ID「MyInput」集VAL與VAL()

下面是一個簡化版本我的代碼

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

你能舉一個你整個行對象的例子嗎?它是多次使用此HTML字符串的數組還是jQuery集合? – Simon

回答

2

你可以試試這個

var d=''; 

$.each(row,function(i,v){ 
    d += v; 
    $('#MyInput').val(d); 
}); 
1

您可以直接訪問該元素,而無需查找何時知道控件的id,只要該id是唯一的即可。

試試這個,

var d=''; 

$.each(row,function(i,v){ 
    d+= v; 
    $("#MyInput").val(d); 
}); 
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; 

}); 
+0

另外,將ID更改爲一個類 – vol7ron

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工作只是作爲一個例子,只要我知道什麼樣的對象你的「行」是的,我可能會調整此解決方案