如何在其他文本框中更改文本时,在asp.net中的一个文本框中更改文本

时间:2013-07-06 06:13:34

标签: c# asp.net

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

  1. 当我在文本框中输入1000而不离开该文本框时,我需要将值设置为1 KM。
  2. 现在,我将1000米更改为3000米(未启动ontextchanged事件),我应该在另一个文本框中看到3公里。
  3. 简而言之,我不希望回发文本框。我知道这可以在Windows项目中完成,但是如何在asp.net(基于Web)中完成。有没有JavaScript或jQuery?

    请帮助。提前谢谢。

4 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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">

答案 2 :(得分:0)

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

如何绑定事件?在这里看到..

Jquery text change event

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

答案 3 :(得分: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>