【问题标题】:jquery function working in one page but not working on another in a same projectjquery函数在一个页面上工作,但在同一个项目中的另一个页面上不工作
【发布时间】:2014-07-09 08:43:43
【问题描述】:

我对 jquery 很陌生,我被困在 jquery 的 keyup 函数中。我猜对了,下面是对我有用的代码

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script type="text/javascript">
    $(function () {

        $('#txtname').keyup(function () {
            var name = $('#txtname').val();

            var lbl = $('#lbl1').text();
            var lbl2 = $("#<%=label1.ClientID %>").text();

            document.getElementById('txtdetails').value = parseInt(document.getElementById('txtname').value) * parseFloat(lbl2);

        });

    });


</script>



<input type="text" id="txtname" runat="server" />
<p><b>Keyup Event Example</b></p>
<input type="text" id="txtdetails" runat="server" />
         <asp:Label ID="label1" runat="server">20.5</asp:Label>

它对我来说很好,但是当我在另一个页面中实现相同的功能时,这不起作用...在那个页面中我还使用了一些其他 jquery 库...是这个原因吗???

这真的很奇怪,并且被困了很长时间......任何帮助将不胜感激。

【问题讨论】:

  • 检查 HTML 可能是 lbl1 id 在其他页面被更改
  • 已经检查过了..它是一样的...
  • 好的,我无法在您发布的 html 中看到 ibl1,但您已经检查过,如果您使用过其他 jquery 库,请在页面底部编写此脚本块并检查。

标签: jquery asp.net jquery-ui


【解决方案1】:

您正在强制输入在服务器上运行。这意味着它在客户端的 ID 可能与您使用的不同。

为此,您需要使用已用于标签的 textbox.ClientID。

【讨论】:

  • 但是这段代码工作正常,唯一的问题是它不能在其他页面上工作
  • 尝试从页面源中查找输入的 id。和你用jQuery写的一样吗?
  • 好的解决了这个问题...如果我使用 runat="server" 那么它不起作用那么如何解决它???
  • 代替$('#txtname').keyup(function ().. 使用$('#&lt;%txtname.ClientId%&gt;').keyup(function ()...等等
猜你喜欢
  • 1970-01-01
  • 2012-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-10
  • 1970-01-01
  • 2011-01-16
相关资源
最近更新 更多