【问题标题】:angularjs bind input text field with drop down and radio buttonsangularjs用下拉和单选按钮绑定输入文本字段
【发布时间】:2016-10-05 10:20:37
【问题描述】:

我有这个单选按钮和动态同步的下拉菜单。我试图包含一个输入框(选择字段),用户可以在其中输入他们的选择作为数字,例如,如果用户在输入框中输入 3,下拉菜单和单选按钮也应动态更改为橙色在这种情况下,如果用户键入 2 到香蕉,依此类推。 而且,我正在尝试在答案字段中动态列出所选水果。感谢您的帮助

 var app = angular.module('App', []);
app.controller('aCtrl', function($scope) {
    $scope.fruits = [
        {name : "apple"},
        {name : "banana"},
        {name : "orange"},
        {name : "melon"}
    ];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>

<div ng-app="App" ng-controller="aCtrl">

<p>choose a fruit</p>

<select ng-model="selectFruit" ng-options="x.name for x in fruits">
</select>
<input name='a' type="radio" ng-model="selectFruit" ng-value="fruits[0]"> apple
<input name='a' type="radio" ng-model="selectFruit"  ng-value="fruits[1]" > banana
<input name='a' type="radio" ng-model="selectFruit"  ng-value="fruits[2]"> orange
<input name='a' type="radio" ng-model="selectFruit"  ng-value="fruits[3]"> melon

 <p>Selection <input type="text" ng-model="selectFruit" /></p>

 <p>Answer</p>
<div ng-switch="selectFruit">
<div ng-switch-when="apple">
<h1>apple</h1>
  </div>

</div>

【问题讨论】:

    标签: javascript html angularjs data-binding


    【解决方案1】:

    看到这个小提琴:https://jsfiddle.net/U3pVM/27636/

    &lt;p&gt;Selection &lt;input type="text" ng-model="selectFruit" ng-change="change(selectFruit)" /&gt;&lt;/p>

    脚本:

    $scope.change = function(a){
          $scope.selectFruit = $scope.fruits[a];
        }
    

    当您在文本框中输入数字(索引)时,它将选择相应的项目。

    【讨论】:

    • 它工作得很好,但我怎样才能改变它,而不是为苹果输入 0 用户必须为香蕉输入 1 、 2 等等?我知道数组从 0 开始,但我在试图解决这个问题时遇到了困难。谢谢
    • 我没听懂你。你想从 1,2,3...而不是 0 开始吗​​?
    • 是的,没错。另外,如何在回答后在底部动态显示答案?
    • 更新了我的回答。
    猜你喜欢
    • 2017-02-14
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    相关资源
    最近更新 更多