2013-11-02 160 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