我对Angular一无所知,但我被要求为新的Google地图输入创建验证。我想要做的就是让#lugar_continuar按钮保持禁用状态,直到填入输入#ciudad,但是由于某种原因按钮没有被禁用。
index.php,输入验证
<div class="">
<input id="ciudad" name="ciudad" class="ciudad" type="text"
placeholder="Ciudad" value="" required ng-model="ciudadSet">
<div id="map"></div>
<input type="hidden" id="distance" size="31" value="31">
</div>
应保持禁用的输入类型按钮
<input id="lugar_continuar" name="lugar_continuar" type="button" onClick="_gaq.push(['_trackEvent', 'Reserva', 'Continuar', 'preciohome'])" value="Continuar" ng-disabled="validacion2() && ciudadSet" ng-click="from_precio = true" >
使用ng-model不起作用。我也尝试使用JS,在main.js:
var ReservasApp = angular.module('Reservas',['rzModule']);
ReservasApp.controller('ReservasController',function($scope){
$scope.ciudad = "";
$scope.validacionCiudad = function() {
var disabled = false;
if( $scope.ciudad != null && $scope.ciudad != "" )
{
disabled = false;
}
else
{
disabled = true;
}
}
}
的index.php
<input id="lugar_continuar" name="lugar_continuar" type="button" onClick="_gaq.push(['_trackEvent', 'Reserva', 'Continuar', 'preciohome'])" value="Continuar" ng-disabled="validacion2() && validacionCiudad()" ng-click="from_precio = true" >
我也尝试过只使用JS:
var validacionCiudad = function() {
var ciudad = document.getElementById('ciudad');
var btn = document.getElementById('lugar_continuar');
if (ciudad.value == "") {
btn.setAttribute("disabled", "disabled");
} else {
btn.removeAttribute("disabled");
}
}
validacionCiudad();
我已经尝试了很多方法来实现这一点,但没有任何工作!
答案 0 :(得分:0)
更改$ scope.ciudad =&#34;&#34; to $ scope.ciudad = undefined;
将您的ng模型更改为:
NG-模型=&#34;城&#34;
并且您的ng-disabled为:
NG-禁用=&#34;!城&#34;
应该有效
答案 1 :(得分:0)
你可以试试这个:var result = 'AAAA 1 BBBB 2'.match(/\d+/g);
console.log(result.join(''));
,因为ng-disabled = "ciudadSet == ''"
在表达式等于ng-disabled
时有效。如果必须调用函数true
来判断它,则必须在函数中返回bool值。愿这有用。
答案 2 :(得分:0)