根据下面的HTML选择表单字段,当选择字段设置为Completed
或Cancelled
以外的任何值时,我需要重置文本字段值
<select name="status" id="status" title="">
<option label="Open" value="Open">Open</option>
<option label="In Progress" value="In_Progress">In Progress</option>
<option label="Future_Project" value="Future_Project">Future_Project</option>
<option label="Cancelled" value="Cancelled">Cancelled</option>
<option label="Completed" value="Completed" selected="selected">Completed</option>
</select>
我需要将值设置为空/没有的文本输入看起来像这样......
<input autocomplete="off" type="text" id="date_completed_date" value="09/20/2014 06:15pm" size="11" maxlength="10" onblur="combo_date_completed.update();" onchange="combo_date_completed.update(); ">
我可以使用jQuery或常规JavaScript。我很感激任何帮助,我认为这应该很简单?
答案 0 :(得分:4)
工作解决方案:http://jsfiddle.net/bevanr01/7e2ubo85/4/
$( "#status" ).change(function() {
if ((["Cancelled","Completed"].indexOf($(this).val()) == -1)){
$('#date_completed_date').val('');
}
});
如果你想得到如下所述的幻想,你可以在今天添加这两个值的日期。
$( "#status" ).change(function() {
if ((["Cancelled","Completed"].indexOf($(this).val()) == -1)){
$('#date_completed_date').val('');
} else {
$('#date_completed_date').val(new Date());
}
});
答案 1 :(得分:1)
如果用户重新选择另一个选项,则值得保留日期,否则日期将保持为空白。
var date = $('#date_completed_date').val();
$("select").on("change", function () {
if ($(this).val().indexOf('ed') == -1) {
$('#date_completed_date').val('');
}
else {
$('#date_completed_date').val(date);
}
})
<强>演示强>
答案 2 :(得分:0)
试试这个
<form name="sample">
<select name="status" id="status" title="" onchange="clearInput()">
<option label="Open" value="Open">Open</option>
<option label="In Progress" value="In_Progress">In Progress</option>
<option label="Future_Project" value="Future_Project">Future_Project</option>
<option label="Cancelled" value="Cancelled">Cancelled</option>
<option label="Completed" value="Completed" selected="selected">Completed</option>
</select>
<input autocomplete="off" type="text" id="date_completed_date" value="09/20/2014 06:15pm" size="11" maxlength="10" onblur="combo_date_completed.update();" onchange="combo_date_completed.update(); ">
</form>
你脚本中的
function clearInput() {
if(document.sample.status.value != "Completed" && document.sample.status.value != "Cancelled")
{
document.getElementById('date_completed_date').value='';
}
}