我试图将两个div组件传递给javascript函数,如下所示:
<script type="text/javascript">
$(function clicked(item, txtMessage) {
txtMessage.text((parseInt(txtMessage.text()) + parseInt(100)));
}
</script>
<asp:Repeater ID="repGridView" runat="server" OnItemDataBound="RepGridView_ItemDataBound" EnableViewState="false">
<ItemTemplate>
<div>
<div id="txtMessage" >5000</div>
<button type="button" onclick="clicked(this, 'txtMessage');">ADD NOW</button>
</div>
</ItemTemplate>
</asp:Repeater>
有人可以帮我弄清楚我做错了吗?
答案 0 :(得分:2)
因为这是id的转发器使用对你不起作用,因为id必须是唯一的。如果这是您的实际布局,请尝试以下内容或找到相对于发件人(函数中的项目)对象的文本。
function clicked(item) {
var $txtMessage = $(item).prev();
$txtMessage.text((parseInt($txtMessage.text()) + parseInt(100)));
}
更改函数调用如下;
onclick="clicked(this);"
答案 1 :(得分:1)
您正在将字符串作为第二个参数传递给函数,但后来就像是一个jQuery对象。试试这个。
function clicked(item, txtMessage) {
$txtMessage = $('#' + txtMessage); // convert the string to a jquery object representing the DOM element with the ID passed in the txtMessage parameter
$txtMessage.text((parseInt($txtMessage.text()) + parseInt(100)));
}