DropDown Selection字段设置为某个值时,清除文本输入字段?

时间:2014-09-21 03:21:31

标签: javascript jquery

根据下面的HTML选择表单字段,当选择字段设置为CompletedCancelled以外的任何值时,我需要重置文本字段值

<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。我很感激任何帮助,我认为这应该很简单?

3 个答案:

答案 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); 
    }

})

<强>演示

http://jsfiddle.net/mrw9hor8/

答案 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='';
   }

}