2

ドロップダウン メニューと、ドロップダウンを切り替えるクリック可能な要素があります。ユーザーがドロップダウン メニューのリスト項目をクリックすると、その値が入力ボックスの値に追加されます。

私が持っているドロップダウンメニューは、定義された回数繰り返されて、インクリメントされた数値をリストするドロップメニューを作成します。

<!--input-->
<input type="text" value="{{rooms}}">

<!--dropdown-->
<ul role="menu">
    <li data-ng-repeat="i in getNumber(num_of_rooms)">
        <a href="javascript:void(0);" data-ng-click="addToDropDown($index)">{{$index+1}}</a>
    </li>
</ul>



//This function simply returns an array so the dropdown menu repeats a defined number of times
$scope.getNumber = function(n) {
    return new Array(n);
};


//I want this scope function to add the value to the input by updating a scope variable
$scope.addToDropDown = function(scope_name, value){

    $scope.scope_name = value;
};

-----------

//This works but I'm defining a scope name which I would like to add dynamically as I have multiple dropdown menus
$scope.addToDropDown = function(value){

    var val = value+1;
    $scope.rooms = val;
};

ビュー自体のスコープ変数に新しい値を割り当てる方法はありますか?

4

1 に答える 1

4

これは、あなたの望むことですか? http://plnkr.co/edit/Pew3KIoTy2fVp0tV3xv6?p=preview

変数名の文字列をクリック ハンドラに渡します。

<a href="" ng-click="addToDropDown('rooms', $index)">
  {{ $index + 1 }}
</a>

ハンドラーで指定された名前のプロパティを参照するだけです。

$scope.addToDropDown = function(scope_name, value) {
  $scope[ scope_name ] = value;
};
于 2013-05-31T08:29:20.617 に答える