使用jquery清除事件上的文本输入时出现问题

时间:2014-06-05 14:07:47

标签: jquery html

我有以下jsFiddle。问题是当它禁用输入时它不会清除文本字段中的输入。

这是jquery ......

$(function() {
    $( "#datepicker" ).datepicker();
});
$('.begin-date-picker').on('change', function () {
        if ($(this).val().length > 0) {
            $('input.needs-begin-date:checkbox').each(function(iControls){
                this.disabled = false;
            })
            $('input.needs-begin-date:text').each(function(iControls){
                this.disabled = false;
            })
        }
        else{
            alert('empty');
            $('input.needs-begin-date:checkbox').each(function(iControls){
                this.checked = false;
                this.disabled = true;

            })
            $('input.needs-begin-date:text').each(function(iControls){ 
                this.disabled = true;
                this.val('');
            })
        }
});

这可以通过......重新创建。

  1. 输入日期
  2. 选中复选框,在文本框中输入文字
  3. 删除日期

3 个答案:

答案 0 :(得分:3)

你需要在jQuery包装器中包装this

$(this).val('');

甚至可以更好地提取value中的this

this.value = '';

答案 1 :(得分:1)

应该有$(this)而不是this

更新并使用JSFiddle:http://jsfiddle.net/XyWfr/6/

答案 2 :(得分:1)

 $(this).val(null);

中使用它
 $('input.needs-begin-date:text').each(function(iControls){ 
                this.disabled = true;
                this.val('');
            })

这里是小提琴http://jsfiddle.net/XyWfr/7/