2017-03-09 7 views
1

まず、私は混乱している質問を申し訳なく思っています。私は本当に自分の問題の正しいタイトルがわからない。なぜなら、私はangularjsを初めて使うからだ。ところで、私はangularjsを使ってウェブポータルを作っています。私のウェブポータルの機能の1つはです。フィードバックを投稿してフィードバックを返します!ウェブサイトの訪問者がフィードバックを投稿すると、管理者はそれを確認し、そのフィードバックにコメントします。たとえば、すでに10の投稿があるので、mysqlクエリを使って表示しています。このように:上記のそのコードでanglejsで1つのng-modelを呼び出す方法

$query = "SELECT * FROM tblfb WHERE fb_status = 1 ORDER BY fb_id DESC"; 
... 
while($row = mysqli_fetch_array($res)){ 
    echo "<h5>".$row['fb_sender']."</h5> 
      <p>".$row['fb_content']."</p> 
      <input type='text' ng-model='fbReply' id=".$row['fb_id']."> 
      "; 
} 

、それは完璧に動作し、それが承認されたすべての記事を表示するが、fbRelpy modelにコメントを入力するとき、私は問題を持っています。入力を開始すると、textboxesはすべて私が入力したものでいっぱいでした!つまり、最初のテキストボックスに入力すると、すべてのテキストボックスにテキストが適用されます。おそらくそれらはすべてng-model値を持っているからかもしれません。私は何をすべきか?前もって感謝します。 質問タイトルについて私を理解してください。

+0

これは、angle.Use API呼び出しを使用する正しい方法ではありません。バックエンティティを取得し、角度を使用してhtmlと統合します。それ以外の場合は、それを管理するのが難しいコードを作成します。 –

答えて

1

問題はすべての入力が同じモデル名であることです。あなたはそれらを区別するために異なるモデルを与えています。 'fbReply{{'+$row['fb_id']+'}}'を使用できます。中括弧はオブジェクト配列としての入力を確実に取得します。

$query = "SELECT * FROM tblfb WHERE fb_status = 1 ORDER BY fb_id DESC"; 

while($row = mysqli_fetch_array($res)){ 
    echo "<h5>".$row['fb_sender']."</h5> 
      <p>".$row['fb_content']."</p> 
      <input type='text' ng-model='fbReply{{'+$row['fb_id']+'}}' id=".$row['fb_id']."> 
      "; 
} 
+1

ありがとうございました! – duterte

+0

歓迎私は、あなたが兄弟ではなく兄弟と呼んでいただければ幸いです:p @duterte –

+1

ハハハ確かな兄弟! :D – duterte

0

コメント入力ごとに同じngモデルを使用しているため、この問題が発生しています。

可能な解決方法は、コメント入力ごとに一意のモデルを付けることです。あなたはあなたの識別子とfb idの組み合わせを使ってこれを行うことができます。 ng-model='fbReply' + .$row['fb_id'].

+1

ありがとうございました! – duterte

0

は、あなたはあなたがこの

fbReplay ={} 

のようなコントローラでNG-モデルを定義する必要がNG-モデルの配列を作成するために持っていて、コードの下、ここ

$query = "SELECT * FROM tblfb WHERE fb_status = 1 ORDER BY fb_id DESC"; 
while($row = mysqli_fetch_array($res)){ 
echo "<h5>".$row['fb_sender']."</h5><p>".$row['fb_content']."</p> 
     <input type='text' ng-model='fbReply['+$row['fb_id']+']' id=".$row['fb_id'].">"; 
} 
のようなものです
+0

ありがとうございました! – duterte

+0

正解を確認してください@duterteと投票してください –

関連する問題