2013-11-02 157 views
1

我是JQuery的新手,我有一些麻煩來解決這個問題。我必須從動態列表(使用ASP.NET MVC4)生成輸入字段,問題是我不知道列表的大小。JQuery選擇特定標籤

我產生輸入框是這樣的:

<ul> 
     @for(int i=0;i< Model.listeVisites.Count;i++) 
     {  
      <li><input id="[email protected]" type="text" value="@Model.listeVisites[i]" /></li> 
     } 
</ul> 

而且我想每個輸入創建一個按鈕,以便單擊時,輸入字段隱藏與.hide(),和現場被設置爲空字符串。但我不明白兩件事:

1)與jquery我真的不知道我怎麼可以將一個函數鏈接到一個事件。在「正常」javascript中,我會在輸入字段中添加一個Onclick屬性,但是如何使用Jquery實現它?

2)考慮到我的id名字的動態和不可預測性,什麼是最簡單和更傳統的方式來實現我的目標。

謝謝!

回答

3

首先,將classid添加到您的ul,以便於識別。那就試試這個:

$('#myUl li input').each(function() { 
    $(this).after($('<button />', { text: 'Hide' })); 
}); 

$('#myUl').on('click', 'button', function() { 
    $(this).prev('input').hide(); 
}); 

Example fiddle

+0

只需添加...看看jQuery的.prev。經過.find在你的代碼.closest的定位(選擇)您的特定的(唯一的)ID元素(如選擇)爲了做任何事情 – daremachine

+0

@Rory謝謝你,我只是適應它,以便它也隱藏了按鈕和李。我希望整條線消失。 – user2948152

+0

@daremachine我肯定會這樣做,謝謝 – user2948152