0

我想要做的是我有一个复选框,它将打印两个输入类型相同.. n 未选中时它允许有不同.. 这里 m 使用下面的代码...它在单击复选框时工作..在第一个输入中给出的输入是相同的,但是。当我取消选中它时,当我在其中输入一些东西时它仍然会给我。有什么方法可以禁用上面使用的键控功能 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复选框被选中,我们从一个输入中获取值并将其放在另一个输入中,否则我们什么也不做。

从您的函数的命名来看,我认为您在选中复选框时调用 oncheck 函数。没有必要这样做。相反,我所做的是等到 DOM 准备好,然后我们将一个 keyup-event 监听器附加到输入,然后对每个 key-up 采取行动。

于 2012-08-03T10:46:27.233 回答