-1

我正在尝试将两个 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>

有人可以帮我弄清楚我做错了什么吗?

4

2 回答 2

2

因为这是 id 的中继器用法对您不起作用,因为 id 必须是唯一的。如果这是您的实际布局,请尝试以下操作或查找与发件人(函数中的项目)对象相关的文本。

function clicked(item) {
         var $txtMessage = $(item).prev(); 

         $txtMessage.text((parseInt($txtMessage.text()) + parseInt(100)));
}

如下更改函数调用;

onclick="clicked(this);"
于 2014-05-06T16:30:04.920 回答
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)));
}
于 2014-05-06T16:22:19.070 回答