此问题下面给出了angularJS表格。我想要做的是使用JavaScript将#quantity
输入值从1更改为200,然后单击“购买”按钮。但是在我通过单击“购买”按钮提交表单后,#quantity
输入的值将返回其默认值1。
我尝试使用以下代码来更改
#quantity input
元素的值:
var qty = document.getElementById('quantity');
var buy = document.querySelector('button.btn.place');
qty.value = "123";
qty.select();
buy.click();`
但它不起作用。它总是拒绝这个价值。对不起,我对AngluarJS一无所知,而且我需要花很多时间学习AngularJS。
以下是 QTY 输入元素的代码:
<input type="number" step="1" id="quantity" name="quantity" ng-model="options.quantity" class="input width-100 numeric ng-isolate-scope ng-valid-number ng-valid-checklotsize ng-dirty ng-valid-required ng-valid ng-valid-integer" min="1" checklotsize="1" integer="" esc-key="" esc-key-action="close()" ng-disabled="!uiConstraints.quantity" required="">
和购买按钮:
<button type="submit" class="btn place btn-blue" ng-class="options.transaction_type == 'BUY' ? 'btn-blue' : 'btn-orange'" ng-disabled="buysellform.$invalid || order_status === true">
<span class="spinner icon ng-hide" ng-show="order_status === true">
<span class="icon icon-spinner animate-spin"></span>
</span>
<span class="icon ng-hide" ng-show="order_status !== true && execution_type == 'MODIFY'">MODIFY</span>
<span class="icon ng-binding" ng-show="order_status !== true && execution_type == 'PLACE'">BUY</span></button>
答案 0 :(得分:-1)
请试试这个
var model = angular.element(document.getElementById('quantity')).data('$ngModelController')
model.$setViewValue('123')
document.querySelector('button.btn.place').click();
这是在javascript中更改角度模型的肮脏方式。