0

如果单击“单向”复选框,我编写了以下代码以禁用行程中的返回日期字段。

问题是,它适用于 jsFiddle,但当输入字段是 jQuery DatePicker 字段时不起作用,我希望它是。

$('#returndate_true').click(function(){
    $('#returndate').removeAttr("disabled");
    $('#returnflex').removeAttr("disabled");
});

$('#returndate_false').click(function(){
    $('#returndate').attr("disabled",true);
    $('#returnflex').attr("disabled",true);
});

<span><input type="radio" value="true" name="traveltype" id="returndate_true"><label for="returndate_true" class="collection_radio_buttons">Return-trip</label></span><span><input type="radio" value="false" name="traveltype" id="returndate_false"><label for="returndate_false" class="collection_radio_buttons">One-way</label></span>
                <input class="cdate" name="date_return" size="13" id="returndate" disabled="disabled" />
                <select id="returnflex" name="return_flex" disabled="disabled">
                    <option value="no flex">No Flexibility</option>
                    <option value="plusmin 1day">+/- 1 day</option>
                    <option value="plusmin 2days">+/- 2 days</option>
                    <option value="plusmin 3days">+/- 3 days</option>
                    <option value="same week">Same Week</option>
                </select></font></b>

在这里查看演示。(将其简化为基本要素)。

这个事情谁有经验?

在此先感谢,Sh。

4

1 回答 1

0

刚刚快速查看了您的代码,它不起作用的原因是因为代码不在$(document).ready()函数内部:

$(document).ready(function() {

    $('#returndate_true').click(function(){
        $('#returndate').removeAttr("disabled");
        $('#returnflex').removeAttr("disabled");
    });

    $('#returndate_false').click(function(){
        $('#returndate').attr("disabled",true);
        $('#returnflex').attr("disabled",true);
    });

    $('#returndate').datepicker();

});

这是您了解 jQuery 的第一件事。将您的代码放置在此函数中可确保在操作其任何内容之前完全加载 DOM。

于 2013-04-29T21:04:01.983 回答