4

我有 2 个文本框,如果我在 textbox1 中写任何东西,它应该立即反映在 textbox2 中,如果我在 textbox2 中写任何东西,它应该反映在 textbox1 中。

那么我该怎么做呢?我之前看过这篇文章以及如何在两个文本框之间实现?

http://www.zurb.com/playground/jquery-text-change-custom-event

这是我的文本框:

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
4

4 回答 4

5
$('#TextBox1').keydown(function(){
    $('#TextBox2').val($(this).val())
})
$('#TextBox2').keydown(function(){
    $('#TextBox1').val($(this).val())
})
于 2011-11-01T09:00:16.553 回答
2
var $tbs = $("input[id^='TextBox']");
$tbs.keyup(function() {
    var that = this;
    $tbs.each(function() {
       $(this).val(that.value);
    }); 
});

演示:http: //jsfiddle.net/SGcEe/2/

于 2011-11-01T08:58:26.870 回答
1

上述引用文本框的方式不起作用。ASP.NET 为服务器控件生成一些 id。

要有一个相对干净的解决方案。我建议您在文本框中添加类。

<asp:TextBox ID="TextBox1" CssClass="textbox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" CssClass="textbox2" runat="server"></asp:TextBox>

jquery代码如下:

$('.textbox1').keyup(function() {
    $('.textbox2').val($(this).val());
});

$('.textbox2').keyup(function() {
    $('.textbox1').val($(this).val());
});

您可以在 jsfiddle 看到使用 vanilla html 的示例:http: //jsfiddle.net/HUFGD/

于 2011-11-01T09:15:19.993 回答
0

这可能是个好把戏

        $("input[id*='txtQty']").keyup(function (event) {
        var oldValue = event.target.defaultValue;
        var newValue = event.target.value;
        if (jQuery.trim(newValue) == "") {
            alert("Quantity can't be empty");
            $("input[id*='txtQty']").val(oldValue);
        }
    });
于 2012-10-09T12:18:31.817 回答