Javascript AngularJS通过单击按钮检测下拉列表是否已更改
我对AngularJS很陌生,所以我需要你的帮助。 如果用户已从下拉列表中选择,如何通过单击按钮进行检查?我有两个下拉列表,我需要检查用户是否从这两个下拉列表中进行了选择。如果他没有选择并单击Submit按钮,将出现一个模式提示 这就是我迄今为止所尝试的: HTML:Javascript AngularJS通过单击按钮检测下拉列表是否已更改,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,我对AngularJS很陌生,所以我需要你的帮助。 如果用户已从下拉列表中选择,如何通过单击按钮进行检查?我有两个下拉列表,我需要检查用户是否从这两个下拉列表中进行了选择。如果他没有选择并单击Submit按钮,将出现一个模式提示 这就是我迄今为止所尝试的: HTML: <select id="supplier" name="supplier" class="form-control" ng-model="searchFormData.supplier" ng-change="chang
<select id="supplier" name="supplier" class="form-control"
ng-model="searchFormData.supplier" ng-change="changeMeChange()"
ng-options="supplier.company as supplier.company for supplier in suppliersObj">
</select>
$scope.changeMeChange = function() {
alert('You changed me!');
};
但这只会通知下拉列表是否已更改,而不会通知单击按钮
你知道怎么做吗?我会使用ng模型为两个下拉列表设置两个范围变量来存储所选值,然后在ng函数中单击按钮,你可以检查这两个变量,看看它们有什么值。因为你的
ng模型
指向searchFormData.supplier
,如果用户选择一个选项,它将具有选定的值。因此,您可以在单击按钮时执行以下操作:
$scope.submitClick=function(){
if(!$scope.searchFormData.supplier){
警报('您没有选择供应商!');
返回错误
}
};
使用ng click=“myMethod()”
和按钮您将进入单击时调用的方法,要查看它是否正常工作,请使用console.log(“hello world”)
并查看web浏览器的控制台,查看它是否打印消息;P
示例代码:
好的,我制作了这个示例代码,看看它是如何工作的(datos是我的控制器)
-HTML
我们从select的ng模型中获取数据,并将其作为参数放在buton方法中
对于数据,您将拥有select choose的值,如果为null是因为用户没有选择任何内容,我希望我能帮助您;P
尝试此操作以触发按钮单击选择框
$scope.changeMeChange = function() {
alert('You changed me!');
};
<select ng-click='changeMeChange()'></select>
$scope.changeMachage=function(){
警惕(“你改变了我!”);
};
据我所知,您需要检测用户是否更改了字段的下拉值。因此,您可以使用angular表单
验证,在这里您可以检查字段是否为$dirty
/$pristine
。基于此,您可以显示模态
,或者可以调用特定函数
标记
<form name="myForm" ng-submit="mySubmit()">
<select id="supplier" name="supplier" class="form-control"
ng-model="searchFormData.supplier" ng-change="changeMeChange(searchFormData.supplier, supplier)"
ng-options="supplier.company as supplier.company for supplier in suppliersObj">
</select>
...other fields...
<button type="button">Submit</button>
</form>
$scope.changeMachage=函数(){
警惕(“你改变了我!”);
};
您可以尝试这种方法,一旦模型更改,将调用警报您需要将单击事件绑定到按钮以检查下拉模型值 下面是示例代码: 按钮的HTML代码:
<button data-ng-click="myFunction()">Click</button>
希望以上示例代码能帮助您解决问题。使用
ng单击按钮
元素,检查模型的值
@RayonDabre您好,谢谢您能提供示例代码或教程吗?我觉得您的问题不完整。。提供一个小提琴
或演示来使用。。哪里是选择输入和按钮?想知道任何有帮助的答案。。!你能分享一些示例片段吗?嗨,如果我理解正确,我将为我的按钮创建一个方法,然后如何检查下拉列表是否已更改?你将返回值保存在ng模型中,因此你只需要查看你放入的$scope.ngModel,并比较值或查看它是否为null,我不知道你们是否理解我,这和问题有什么关系?@PankajParkar-他需要使用angular JS检查submit按钮上的下拉值,这样他就可以将click事件添加到按钮上,并检查下拉值,如果它没有填充,则按此显示提示。我没有添加完整的代码,我只是添加了示例代码。@PankajParkar,他在下面一行提到。“如果用户从下拉列表中选择了,我如何通过按钮单击来检查?”所以我猜他需要检查用户是否更改了下拉列表中的按钮单击!老实说,这个问题很不清楚。。让我们看看OP的下一次编辑:pYeah@PankajParkar,首先他要求我在评论中提到的上述事情。这就是我只给出示例代码而不是完整代码的原因。
<form name="myForm" ng-submit="mySubmit()">
<select id="supplier" name="supplier" class="form-control"
ng-model="searchFormData.supplier" ng-change="changeMeChange(searchFormData.supplier, supplier)"
ng-options="supplier.company as supplier.company for supplier in suppliersObj">
</select>
...other fields...
<button type="button">Submit</button>
</form>
$scope.changeMeChange = function(field, supplier) {
//field.$pristine OR !field.$dirty will tell you does field has changed or not
if(!supplier && field.$pristine){
//open modal from here.
}
else{
alert('You changed me!');
}
};
<select ng-options="size as size.name for size in sizes"
ng-model="item" ng-change="update()"></select>
$scope.changeMeChange = function() {
alert('You changed me!');
};
<button data-ng-click="myFunction()">Click</button>
$scope.myFunction = function() {
//Check model values of dropdown over here, based upon the result you can show prompt.
// You can access model value by scope variables.
};