jquery问题

时间:2010-06-08 05:58:10

标签: javascript-events jquery

我正在使用Jquery库将单击文本域中输入的文本复制到另一个文本域时单击复选框..如下所示

<html>
<head>
    <script src="js/jquery.js" ></script>
</head>
<body>
    <form>
        <input type="text" name="startdate" id="startdate" value=""/>
        <input type="text" name="enddate" id="enddate" value=""/>
        <input type="checkbox" name="checker" id="checker" />
    </form>
    <script>
    $(document).ready(function(){
            $("input#checker").bind("click",function(o){
                if($("input#checker:checked").length){
                    $("#enddate").val($("#startdate").val());
                }else{
                    $("#enddate").val("");
                }
            });
        }
    );
    </script>
</body>
</html>

现在我想在默认情况下选中复选框,以便在默认情况下选中复选框时自动复制在开始日期输入的数据...那么应该在jquery脚本中调用哪个事件?

请帮我解决这个问题......下面给出的解决方案对我不起作用......

5 个答案:

答案 0 :(得分:2)

您可能希望在发生更改时复制该值,因此您可以使用按键事件:

function copyDate() {
  if($("#checker").is(":checked")){
    $("#enddate").val($("#startdate").val());
  }
}

$(function(){
  $("#startdate").keypress(copyDate).click(copyDate);
});

答案 1 :(得分:0)

怎么样:

$("#startdate").change(function() {
  // code here
});

答案 2 :(得分:0)

首先,默认选中复选框有两个选项... 1)来自使用

定义复选框的html
checked='checked'

2)来自jquery使用

$(document).ready(function(){   $( “#检查”)ATTR( “选中”, “选中”)。 )};

现在提出要点......上面已经提到了'Guffa'

$("#startdate").keypress(function(){
if($("#checker").is(":checked")){
  $("#enddate").val($("#startdate").val());
}

});

答案 3 :(得分:0)

function copyDate() {
 if($("#checker").prop("checked")==true){  $("#enddate").val($("#startdate").val()); 

} }

$(function(){
 $("#startdate").keypress(copyDate).click(copyDate); 
});

答案 4 :(得分:-1)

你的问题不是很清楚。在我看来,您希望在页面加载时选中复选框,并且开始日期也会复制到结束日期:

$(document).ready(function() {
  $("#checker").attr("checked","checked");
  $("#enddate").val($("#startdate").val());
});

编辑:

与您的事件处理程序结合使用:

$(document).ready(function() {
   function checker() {
       if ($("#checker").is(":checked"))
          $("#enddate").val($("#startdate").val());
       else
          $("#enddate").val("");
   }

   $("#checker")
     .click(checker)
     .attr("checked","checked");

   checker();
});

这看起来很复杂,但jQuery存在问题:设置“checked”属性时,使用 .click()立即触发事件处理程序将无效,因为 .is (“:checked”)函数不会返回更改后的值(我不知道为什么,但就是这样)。