0

我想在一个文本框中更改一些文本就更改另一个文本框。我知道可以使用ontextchanged事件来完成。但我的要求是,例如。让我们举一个将米转换为公里的例子。

  1. 当我在文本框中键入 1000 而不离开该文本框时,我需要在其他文本框中将值设为 1 KM。
  2. 现在,我将 1000m 更改为 3000m(没有ontextchanged触发事件),我应该在另一个文本框中看到 3 KM。

简而言之,我不希望文本框被回发。我知道这可以在 Windows 项目中完成,但如何在 asp.net(基于 Web)中完成。有 JavaScript 或 jQuery 吗?

请帮忙。提前致谢。

4

4 回答 4

1

希望这可以帮助

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <script src="/js/jquery-1.7.2.min.js" type="text/javascript"></script>

    <script language="javascript" type="text/javascript">

      function Convert() {
          var meters = jQuery("#txtMeters").val();
          var kilometers = meters / 1000;
          jQuery("#txtKilometers").val(kilometers);
      }

    </script>

<title>Solution</title>
</head>

<body>
    <form id="form1" runat="server">
    <div>
    Meters
    <asp:TextBox ID="txtMeters" ClientIDMode="Static" runat="server" onkeyup="javascript:Convert()">
    </asp:TextBox>
    /
    <asp:TextBox ID="txtKilometers" ClientIDMode="Static" runat="server">
    </asp:TextBox>Kilometers
    </div>
    </form>
</body>

</html>
于 2013-07-06T07:22:41.490 回答
0

http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onkeypress

<script>
  function myFunction()
  {
    alert("You pressed a key inside the input field");
    // get value of textbox1, sdo the calculation
    // set value of textbox2
    var x = document.getElementById('textbox1').value;//get integer part of value
    document.getElementById('textbox2').value = x/1000 + 'km';
  }
</script>
<input type="text" id="textbox1" onkeypress="myFunction()">
<input type="text" id="textbox2">
于 2013-07-06T06:22:28.877 回答
0

调用(甚至更好地将其绑定到 textBox 事件)JavaScript/jQuery 函数以从第一个文本框中的文本转换并放入第二个文本框中。

如何绑定事件?看这里。。

Jquery 文本更改事件

http://api.jquery.com/change/

于 2013-07-06T06:24:10.697 回答
0

试试这个 jquery 解决方案

添加jquery库

    <asp:TextBox runat="server" ID="TextBox1" runat="server"/>
    <asp:TextBox  runat="server" ID="TextBox2" onkeyup="callFunction()" runat="server"/>
    <script type="text/javascript">
        function callFunction() {
            var TextBox2_val = $('#<%= TextBox2.ClientID %>').val();
            $('#<%= TextBox1.ClientID %>').val((parseFloat(TextBox2_val) / 1000).toString());
        }
    </script>
于 2013-07-06T06:26:02.203 回答