我在asp.net转发器中有以下输入
<div class="detailsItem">
<input type="button" class="saveCommand" value="Save"/>
</div>
然后在我的文档中。我已经绑定了一个单击函数
<script type="text/javascript">
$(document).ready(function () {
$('.saveCommand').live('click', function () {
var cur = $(this);
saveItem(cur.closest('div.detailsItem'));
});
});
当我绑定我的转发器时,我希望能够在click
功能的呼叫中包含一个ID。类似于:
<input type="button" onclikc="save(this,<%#((CustomViewItem)Container.DataItem).Id%>" value="Save"/>
有关如何组合这两种绑定方式的想法吗?
答案 0 :(得分:3)
您可以使用新的data-*
属性
<input type="button" data-id="<%#((CustomViewItem)Container.DataItem).Id%>" value="Save"/>
在事件处理程序中,您可以使用
访问它cur.data("id")
答案 1 :(得分:3)
我建议您使用data
attribute。
<!--
<div class="detailsItem" data-id="<%#((CustomViewItem)Container.DataItem).Id%>">
-->
<div class="detailsItem" data-id="YourIdHere">
<input type="button" class="saveCommand" value="Save"/>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('.saveCommand').on('click', function () {
var cur = $(this);
var detailsItem = cur.closest('div.detailsItem');
alert(detailsItem.data("id"));
saveItem(detailsItem);
});
});
</script>
有关jQuery中data()
方法的更多信息:http://docs.jquery.com/Data。
答案 2 :(得分:0)
您可以将ID传递给Repeater项目模板中的保存功能。
<itemTemplate>
<input type='button' onclick='save(<%# Eval("Id")); %>' value='Save' />
</itemTemplate>
答案 3 :(得分:0)
试试这个
<ItemTemplate>
<div class="detailsItem">
<input type="button" class="saveCommand" onclick='save(<%# Eval("Id") %>);' value="Save"/>
</div>
</ItemTemplate>