0

リストから現在のアイテムを設定し、テキストエリアを使用してその要素の値を編集する必要がある場合があります。いくつかの制約があるため、キーアップ イベントを使用する必要がありますが、それは問題ではないと思います。

このフィドルを確認してください:http://jsfiddle.net/terebentina/Euj2C/

  1. 最初/2番目のボタンをクリックします-機能し、テキストエリアのテキストを各要素の値に変更します。
  2. テキストエリアのテキストを何かに変更する
  3. 1 番目と 2 番目のボタンをもう一度クリックします。テキストエリアは更新されません。コンソールを見ると、要素が切り替わっていることがわかりますが、テキストエリアが更新されていないだけです。

助言がありますか?これは私を夢中にさせています!

4

1 に答える 1

1

これを行うためにディレクティブを変更するより良い方法があることは知っていますが、今のところ簡単な修正として、テキストエリアを、選択した要素の現在のテキストの単なるコピーである ngModel 値にバインドてみてください。

<textarea keyup="" ng-model="keyupText"></textarea>

これをcurrent関数として使用します:

$scope.current = function(idx) {        
    $scope.current_element = $scope.elements[idx];
    $scope.keyupText = $scope.current_element.value;
    console.log('current is', $scope.current_element.value);
}

例については、このフィドルを参照してください。

于 2012-10-05T16:39:09.970 に答える