2012-08-03 87 views
0

我想要做的是我有一个复选框,将打印两个输入类型相同.. n当未选中它允许有不同的..这里米使用下面的代码...其工作时复选框被单击..什么输入在第一个输入中给它相同的,但。当我取消选中时,仍然给我,当我键入一些东西在一些。有没有我不知道如果我完全理解手头的问题任何方式使用上述禁用KEYUP功能DAT米..禁用键盘jQuery的

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 
} 

} 

在此先感谢

+0

这不是很concludent。请让我们与你正在尝试为您的快速回复:)做 – 2012-08-03 10:45:37

回答

0

。您的代码的JS Fiddle将有所帮助。但与此同时,我相信它是沿着这是你所需要的东西线,而不是你的函数:

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

我搬到你的if语句到KEYUP回调。如果ubill复选框被选中,我们从一个输入中取值,并将它放在另一个输入中,否则我们什么也不做。

从您的函数的命名,我认为您选中复选框时调用oncheck函数。没有必要这样做。我所做的只是等待DOM准备就绪,然后我们将键盘事件监听器附加到输入上,然后对每个键进行操作。

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); 
    } 
} 
+0

非常感谢一的jsfiddle ..它的工作完美.. – anstrangel0ver 2012-08-03 10:50:40

+0

不客气! – Samson 2012-08-03 10:52:24