当用户更改选择的值时清除特定字段

时间:2010-07-05 03:54:22

标签: javascript jquery html-form

好的,我真的开始度过了糟糕的一天,而且大脑不起作用。我想不出我应该搜索什么,甚至找不到以前这类事情的例子。

我有一个包含三个字段的HTML表单;

  • 选择:disposition_status
  • text:disposition_datetime_hasrecord
  • text:disposition_description

选择字段disposition_status具有以下值:

  • 1 - in
  • 2 - out

当用户选择disposition_status中值为1(in)的项目时,我想清除字段disposition_datetime_hasrecorddisposition_description中的任何文字。

如果有人有一个例子或者可以指出我朝着正确的方向实现这一点,那将不胜感激。

3 个答案:

答案 0 :(得分:3)

demo

$('#disposition_status').change(function() {
    if (this.value == 1) {
        $('#disposition_datetime_hasrecord').val('');
        $('#disposition_description').val('');
    }
});​

编辑根据评论

好的,我现在看到了问题,它应该包裹在内部

$(document).ready(function() { 
    //code here 
}); 

抱歉jsfiddle在内部做(我确实设置了它)..所以只需把代码放在里面就像

$(document).ready(function() { 
   $('#disposition_status').change(function() {
      if (this.value == 1) {
        $('#disposition_datetime_hasrecord').val('');
        $('#disposition_description').val('');
      }
   });​
}); 

explanation here

答案 1 :(得分:2)

试试这个:

$('select[name=disposition_status]').change(function() {
    if ($(this).val() == 1) {
        $('*[name=disposition_datetime_hasrecord]').val('');
        $('*[name=disposition_description]').val('');
    }
});

答案 2 :(得分:2)

没关系,星期天晚上是一个艰难的夜晚代码; - )

为此,您可以使用jQuery change方法捕获菜单中的任何更改。从那里,你可以设置一个简单的case语句来决定做什么,例如:

 $("#disposition_status").change(function() {
     if ($(this).val() == 1) {
         $("#disposition_datetime_hasrecord").val("");
         $("#disposition_description").val("");
     }
 });

这假设您将那些设置为ID,如果不是,您可以使用选择器"*[name=disposition_status]"等来选择它们。

编辑:哦,傻瓜!被其他人殴打;-)至少相同的思考过程:)