如果单击“单向”复选框,我已编写以下代码以禁用行程中的返回日期字段。
问题是,它适用于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>
Check out the demo here。 (将其剥离到必需品)。
有没有人有这方面的经验?
提前致谢, SH
答案 0 :(得分: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();
});
这是first thing you learn about jQuery。将代码放在此函数中可确保在操作任何内容之前完全加载DOM。