4

私は2つのテキストボックスを持っており、テキストボックス1に何かを書くとすぐにテキストボックス2に反映され、テキストボックス2に何かを書くとテキストボックス1に反映されます。

では、どうすればいいですか?この記事を以前に見たことがありますが、2 つのテキストボックスの間に実装する方法は?

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 でバニラ 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 に答える