【问题标题】:Using jquery on button in an enumerated list在枚举列表中的按钮上使用 jquery
【发布时间】:2010-06-25 21:28:23
【问题描述】:

我有一个视图,它将在枚举模型中的每个项目时创建一个表。 每一行我需要添加一个按钮。 我需要一个 jquery 函数绑定到每个按钮,以便在单击它时显示警报。文本将根据单击的行项目而有所不同,因此我必须知道单击的编辑按钮所在的行。 那有意义吗?我该怎么做?

这就是我所拥有的

<table>
<% foreach (var item in Model)
       { %>
<tr>
<td><%=Html.encode(item.id) %></td>
<td><%=Html.encode(item.id) %></td>
<td><button id="button<%=item.id%>">select<button>
</tr>
<%}%>
</table>

类似的东西。如何为每个按钮尝试 jquery 函数。这可能吗? 谢谢!

【问题讨论】:

  • 该表行的其他地方的警报文本来自哪里?

标签: c# javascript jquery asp.net-mvc


【解决方案1】:

未经测试,但应该可以工作:

$(function){
    $('[id^=button]').click(function(){
        var itemId = $(this).attr('id').substring(6);
        alert(itemId);
    });

}

基本上,您将单击事件添加到具有以按钮开头的 id 的所有内容。并且您获取项目的 id,但从按钮 id 属性中获取子字符串。

【讨论】:

  • [id^=button] 很高兴知道。要掌握 jquery,我还有很长的路要走。工作完美。谢谢!
【解决方案2】:

下面将在表格中找到所有按钮,其 id 以“按钮”开头。根据您的示例,这将找到您的所有数据绑定按钮并附加一个 onclick 处理程序,该处理程序将显示一个显示按钮唯一 ID 的警报。

$('table tr td button[id^=button]').click(
function (e) {
alert($(this).id);
e.preventDefault();
});

然后您可以修改它以满足您的需要。

【讨论】:

  • @twal:您应该特别注意选择器选项,因为它们通常会使事情变得更容易,当您确定如何获取某些元素时。 api.jquery.com/category/selectors [id$=button] -- 以'button'结尾,[id!=button] -- 不是'button',[id*=button] -- 包含'button',
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-23
  • 1970-01-01
  • 1970-01-01
  • 2017-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多