0

私がやろうとしているのは、2つの入力タイプを同じように出力するチェックボックスがあることです.nチェックを外すと、異なるものを許可します..ここでは、次のコードを使用します...チェックボックスがクリックされたときに機能します..入力が最初の入力で与えられたものは何でも同じですが。チェックを外しても、何かを入力すると表示されます。上記を使用してキーアップ機能dat mを無効にする方法はありますか..

function oncheck(){
var c=$("#ubill").attr('checked');
if(c){
     var value = $("#single").val();
$("#single1").val(value);
$("input").keyup(function () {
var value = $("#single").val();
$("#single1").val(value);


});

}
else {
    var value='';
    $("#single1").val(value);
    // what should be here
}

}

前もって感謝します

4

2 に答える 2

2
function stickInputs()
{
    var value = $("#single").val();
    $("#single1").val(value);
}


function oncheck()
{
    var c = $("#ubill").attr('checked');
    if (c)
    {
        var value = $("#single").val();
        $("#single1").val(value);
        //bind a named function
        $("input").keyup(stickInputs);
    }
    else
    {
        var value = '';
        $("#single1").val(value);
        // unbind the function
        $("input").unbind("keyup", stickInputs);
    }
}
于 2012-08-03T10:47:02.463 に答える
0

当面の問題を完全に理解しているかどうかはわかりません。コードのJS Fiddleが役に立ちます。しかし、それまでの間、あなたが必要とするのは、あなたの機能ではなく、これに沿ったものだと思います:

$(function () {
    $("input").keyup(function (e) {
        if($("#ubill").attr('checked')){
            var value = $("#single").val();
            $("#single1").val(value); 
        }
    });
});

あなたの if ステートメントを keyup-callback に移動しました。チェックボックスがチェックされている場合はubill、1 つの入力から値を取得して別の入力に配置します。それ以外の場合は何もしません。

あなたの関数の命名から、チェックボックスがチェックされたときに oncheck 関数を呼び出すと思います。その必要はありません。代わりに、DOM の準備が整うまで待ってから、キーアップ イベント リスナーを入力にアタッチし、すべてのキーアップに対応します。

于 2012-08-03T10:46:27.233 に答える