使用控制台下拉菜单选择不会触发事件

时间:2016-09-01 17:29:39

标签: javascript jquery

我想在控制台的帮助下为字段设置值,但是当我这样做时,它不会触发当我从下拉列表中选择选项时应该发生的事件。它只显示下拉菜单字段中的选定值,但事件不会发生。

我在控制台上使用以下查询:

document.getElementsByClassName("input-text")[5].value="string:100#2#######" 

以下是HTML选择的代码: -

<select class="input-text ng-pristine ng-valid ng-touched" ng-model="selectedSname" ng-show="snames != null &amp;&amp; (name712 != null &amp;&amp; name712 != '')" ng-options="sname.surveypins as sname.fullname for sname in snames">
  <option selected="selected"></option>
  <option label="1" value="string:55#9####### ">abc</option>
  <option label="2" value="string:100#2####### ">xyz</option>
</select>

1 个答案:

答案 0 :(得分:0)

您必须手动调用onchange方法,如:

HTML:

<select id="test">
  <option value="1">1</option>
  <option value="2">2</option>
</select>

JS:

document.getElementById('test').onchange = function () {
    alert('changed');
}

document.getElementById('test').value = "2";
document.getElementById('test').onchange();

工作的JSFiddle是here

因为您使用的是AngularJS,我们必须通过角度方式选择选项:

$scope.selectedSname = "string:100#2#######";

因此,angular将捕获您的更改并触发摘要循环,这将触发更改事件。