我想在控制台的帮助下为字段设置值,但是当我这样做时,它不会触发当我从下拉列表中选择选项时应该发生的事件。它只显示下拉菜单字段中的选定值,但事件不会发生。
我在控制台上使用以下查询:
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 && (name712 != null && 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>
答案 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将捕获您的更改并触发摘要循环,这将触发更改事件。