AngularJS - ngmodel和输入类型按钮

时间:2016-01-26 02:45:17

标签: javascript jquery html angularjs ionic-framework

我有什么基本上是一个无线电类型选择,但因为我希望它看起来更像一个选择网格,我选择改为输入类型按钮并在点击时触发一个功能,但我有一个问题。 ng-model不会将我单击的按钮的值绑定到控制器部分,我知道它可以正常工作作为单选按钮。

解决这个问题的最快方法是什么?我假设有一种比重新定义单选按钮的css更简单的方法...特别是因为除了将点击的值与变量本身链接之外,所有这些都已完成。

有问题的部分:

        <div class="aquipartners" id="aquipartnersID">               
            <input ng-repeat="partner in partners" align="center" type = 'button' class = "aquipartnernamebutton" id='aqui{{partner.name.PT}}' value='{{partner.name.PT}}' ng-model='newaquisubmission.part' onclick ='partnerselect()'>
            </input>
        </div>

在JS方面:

    function partnerselect(){


        var scopepartnerbutton = $('#subtitleid').scope().newaquisubmission.part;

        alert(scopepartnerbutton);

        if(scopepartnerbutton !== ""){

            //the stuff I want to do, I added the if as a safeguard while I program everything
        }

    };

2 个答案:

答案 0 :(得分:1)

如@georgeawg所说,使用ng-click。确保你的控制器上有这个:

$scope.partnerselect = partnerselect 

和partnerselect应该声明如下:

function partnerselect(value) {
if($scope.newaquisubmission.part){
   $scope.newaquisubmission.part = value; //Assuming this is what you want to do..
}    
}

在你看来:

    <div class="aquipartners" id="aquipartnersID">               
        <input ng-repeat="partner in partners" align="center" type = 'button' class = "aquipartnernamebutton" id='aqui{{partner.name.PT}}' value='{{partner.name.PT}}' ng-click ="partnerselect(partner.name.PT)">
        </input>
    </div>

答案 1 :(得分:0)

我通过使用(click)代替了onclick解决了类似的问题