如何使用jquery在/输入值实时更改时显示警报?

时间:2016-04-24 08:22:26

标签: javascript jquery html html5

如果输入值发生变化,我会尝试显示警告。我正在使用jQuery,所以这里是一个演示我正在尝试但警告不显示/不工作。感谢

$(".d1, .d2").click( function (e) {
var $this = $(this);
$(".input").attr('value', $this.text());
});

$(".input").change( function() {
  alert(this.value);
});
.d1, .d2 {cursor:pointer;border:1px solid black;margin-top:10px;padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<input class="input" value="" /><p/>
<a class="d1">Demo 1</a>
<a class="d2">Demo 2</a>

1 个答案:

答案 0 :(得分:0)

您需要使用.val()方法设置input元素的值,因为您在change中使用input事件以编程方式更改值,因此不会执行。您需要使用.trigger(event)

  

执行附加到给定事件类型的匹配元素的所有处理程序和行为。

$(".d1, .d2").click( function (e) {
var $this = $(this);
$(".input").val($this.text()).trigger('change');
});

$(".input").change( function() {
  alert(this.value);
});
.d1, .d2 {cursor:pointer;border:1px solid black;margin-top:10px;padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<input class="input" value="" /><p/>
<a class="d1">Demo 1</a>
<a class="d2">Demo 2</a>