2016-06-18 2 views
0

ASP.Net MVCでAngularjを使用してテキストボックスを更新する際に、いくつかの問題があります。私はdivとで異なるNG-モデルを使用していますng-model ...私は、[編集]ボタンをクリックすると、テキストボックスはので、私は<div>に表示された名前を編集することができます表示されますが表示さ<div>タグ...

を持っていますinput私は直接結合...

をしたくないので、私は実際には二つの質問が午前:私は後の編集をキャンセルしたいどのような場合には、両側に同じng-modelを使用する場合

1-すでにテキストを入力していますか?とにかくテキストが変更されますが、変更を元に戻す方法はありますか?

2-私の2番目の質問では、divの値を得るために、テキストボックスinputを更新する際に助けが必要です。以下は

は私のコードです:

マイビュー:

<div ng-show="!nameElements" class="item_list">{{u.fName}}</div> 
<div ng-show="nameElements"> 
    <input type="text" id="ufn" ng-model="userfName"> 
    <a href="javascript:void(0)" ng-click="updateUserName()"><i class="fa fa-floppy-o fa-lg" aria-hidden="true"></i></a> 
</div> 

マイ角度コントローラ:

$http.get('/Home/GetUser') 
    .then(function (response) { 
     $scope.users = response.data; 
     $scope.itmNo = response.length; 
     $scope.userfName = response[0].fName;//This is not working!! 
     } 
    }) 
    .catch(function (e) { 
     console.log("error", e); 
     throw e; 
    }) 
    .finally(function() { 
     console.log("This finally block"); 
    }); 

ので、問題がある、私は変更することはできませんよ/ NGを更新私のコントローラからのモデル。

は、私は私の質問は、あなたが以前に.success(function (response) {...})を使用して.then(function(response) {...}にそれを変更された可能性が高いように思わ

+0

何を期待してい '応答があることを? 'response'は' data'、 'status'、' headers'、 'config'、' statusText'というプロパティを持つオブジェクトです。これは配列ではありません。 – Duncan

+0

私はデータベースからfNameフィールドを取得したかったのです。私の見解では、 'nでユーザー '、次に' n.fName'で作業しています...しかし、私はコントローラでどのように取得できるのか分かりません....一般的な考え方は、値は 'div'に表示された' fName'に等しい –

+0

私の問題は 'response [0] .fName'であるようです...私のコントローラの個々のフィールドをどのように表すことができますか? '$ http.get'で' .success'を使用していたときはうまくいった –

答えて

1

明らかであると思います。

.success().then()コールバックのパラメータは同じではありません。 .success()コールバックに渡される最初のパラメータは、.then()に渡されたresponse.dataの値です。

あなたのコードは、おそらく次のようになります。[0] .fName`

$http.get('/Home/GetUser') 
    .then(function (response) { 
     var data = response.data 
     $scope.users = data.data; 
     $scope.itmNo = data.length; 
     $scope.userfName = data[0].fName; 
     } 
    }) 
+0

はい、これはまさに私に起こったことです。ありがとうございました...私は別の質問があります!変更やリセット入力フィールドを取り消す方法はありますか? 「Hello」と書かれていて、それを「Hi」に変更したとします。値をデフォルトにリセットするボタンが「Hello」であるようにします。ありがとう –

+0

こんにちはがプレースホルダではなく実際には値を設定するだけでリセットボタンを作って、スコープオブジェクトをhello値 –

+0

に設定しているリセット機能にすることはできますが、まだ1つの問題があります。 ..私は入力をリセットする関数を呼び出す 'ng-click'を作成しましたが、' data [0] .fName'は '.then'から認識されませんでしたか?何かアドバイス?? –

関連する問題