2014-07-16 61 views
0

我有一個窗體和一個JavaScript對象。通過窗體循環並從對象填充

<form id="myForm"> 
    <input type="text" name="title"> 
    <input type="text" name="image"> 
</form> 

var myObject = {title: 'this is the title', image: 'image.jpg'} 

有沒有辦法通過表單輸入來運行,並且它的任何輸入名字對象中的密鑰相匹配,設定值?

請注意,我希望通過表單而不是對象,因爲對象中有很多與表單無關的其他數據(示例中未顯示)。

回答

1

你可以這樣做:

$("#myForm input:text[name]").each(function() { 
    var name = $(this).attr("name"); 
    for (var key in myObject) { 
     if (key == name) { 
      $(this).val(myObject[key]) 
      break; 
     } 
    } 
}); 
0

有了這個,你永遠不要循環的對象,但你必須寫一個if子句每個屬性:

var myObject = {title: 'this is the title', image: 'image.jpg'} 

$('#myForm input').each(function() 
{ 
    if($(this).attr('name') === 'title') 
    { 
     $(this).val(myObject.title); 
    } 
});