【问题标题】:How do I copy input from one textbox to another via checkbox using jQuery?如何使用 jQuery 通过复选框将输入从一个文本框复制到另一个?
【发布时间】:2009-04-01 16:40:58
【问题描述】:

我正在清理一个包含开始日期文本框和结束日期文本框的简单表单。我想在这些字段之间添加一个复选框,用户可以检查结束日期是否与开始日期相同,因此当他们检查它时,开始日期输入值(例如,09 年 4 月 1 日)将自动出现在结束日期文本框中,因此他们不必输入相同的日期两次。这有意义吗?

顺便说一句,我正在使用性感的 jquery datepicker UI,它很可爱,但我就是无法解决上述问题。

我知道有一个简单的解决方案(事件处理程序?),但我很难过。

【问题讨论】:

    标签: javascript jquery forms


    【解决方案1】:

    试试这个代码:

    $("#checkboxId").click(copyDate);
    
    function copyDate()
    {
       var start=$("#startDate").val();
       if (this.checked==true)
         $("#endDate").val(start);
    }
    

    将 'id' 替换为您自己的字段 ID。

    【讨论】:

    • 如果有人点击复选框并点击空格(即不点击就选中它)怎么办?
    • 好点,他可以使用 $("#checkboxId").change(copyDate); 来添加另一个事件;
    • 很抱歉这么晚才知道,但是我如何才能切换复选框,以便如果用户改变主意,结束日期与开始日期不同。某种切换?这将如何与上面的代码 sn-p 一起工作?谢谢。
    【解决方案2】:

    解决您的问题的简单技巧。

    <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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-03
      • 2017-07-17
      • 2020-01-22
      • 2020-04-05
      • 2011-08-19
      • 1970-01-01
      • 2014-06-09
      • 2023-04-02
      相关资源
      最近更新 更多