如何使用AngularJS

时间:2017-10-10 20:14:13

标签: javascript jquery html angularjs

我对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();

我已经尝试了很多方法来实现这一点,但没有任何工作!

3 个答案:

答案 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)

您可以像这样验证它。

<? echo $query['whatever']; ?>

https://jsfiddle.net/ivanm07/y2t88817/