asp.net在转发器中传递div组件时调用javascript / jquery

时间:2014-05-06 15:42:20

标签: javascript jquery asprepeater

我试图将两个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>

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

2 个答案:

答案 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)));
}