2017-10-04 23 views
-1

私はフォームでモーダルショーを行った後、テーブルから値を読み取ろうとしています。 モーダルの背後にあるテーブルから値を取得できません。特定の規則はありますか?ブートストラップモードでバックテーブルから一度だけ値を読み取る

私は間違っていますか?バックアップされたテーブルフィールドの値を読み込み、モーダルフィールドの計算に使用したいと思います。

ここでの例を確認してください - Sample Code

/*doesn't read value of rollno from table when modal input box on change*/ 
$('#frm_name').change(function() { 
    var $row = $(this).closest('tr'); 
    var rowID = $row.attr('class').split('_')[1]; 
    var rollno = $row.find('.td_rollno').text(); 
    alert(rollno); 
}); 

HTML

<table class="table table-responsive"> 
    <thead> 
    <tr> 
     <th>NAME</th> 
     <th>ROLL NUMBER</th> 
     <th>CONTACT NO</th> 
     <th>ADDRESS</th> 
     <th>EDIT</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr class="trID_1"> 
     <td class="td_name">Name Row1</td> 
     <td class="td_rollno">12345</td> 
     <td class="td_contact">Mickey Mouse</td> 
     <td class="td_address">123 Mouse Lane</td> 
     <td> 
     <button class='td_btn btn btn-link btn-custom dis'>EDIT</button> 
     </td> 
    </tr> 
    <tr class="trID_2"> 
     <td class="td_name">Name Row2</td> 
     <td class="td_rollno">22222</td> 
     <td class="td_contact">Wiley Coyote</td> 
     <td class="td_address">RR3 Road Runner Lane</td> 
     <td> 
     <button class='td_btn btn btn-link btn-custom dis'>EDIT</button> 
     </td> 
    </tr> 
    <tr class="trID_3"> 
     <td class="td_name">Name Row3</td> 
     <td class="td_rollno">33333</td> 
     <td class="td_contact">Pepe LePew</td> 
     <td class="td_address">88 Stink Street</td> 
     <td> 
     <button class='td_btn btn btn-link btn-custom dis'>EDIT</button> 
     </td> 
    </tr> 

    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
     <h4 class="modal-title" id="myModalLabel">EDIT RECORD</h4> 
     </div> 
     <div class="modal-body"> 

     <form id="updateValues" action="update.php" method="POST" class="form"> 
      <div class="form-group"> 
      <label for="name">NAME</label> 
      <input type="text" class="form-control" name="name" id="frm_name"> 
      </div> 
      <div class="form-group"> 
      <label for="contact">CONTACT</label> 
      <input type="text" class="form-control" name="contact" id="frm_contact"> 
      </div> 
      <div class="form-group"> 
      <label for="address">ADDRESS</label> 
      <textarea class="form-control" rows="3" name="address" id="frm_address"></textarea> 
      </div> 
      <input type="hidden" name="frm_id"> 
      <input type="submit" class="btn btn-primary btn-custom" value="Save changes"> 
     </form> 

     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     <div id="results"></div> 
     </div> 

    </div> 
+0

あなたの質問は不明です。 'tr'からモーダル入力に値を読み込むことは既に** **働いています。この 'change'イベントハンドラの目的は何ですか? '#frm_name'入力には' tr'の親がありません。 – adiga

+0

jsfiddleで試してみたら、私はモーダルになってから、テーブルの名前フィールドで入力アドレスの値を変更したいのですが、モーダルであればもうテーブルの値は読み込まれません。問題... – Nick

+0

これは単なるサンプルコードです...現実には、これを行う理由があります。モーダルフィールドの計算にテーブル行の値が必要です。 – Nick

答えて

1

あなたのマークアップはポストupdate.phpをすることをモーダルフォームでレコードを更新しようとしていることを示唆しています。これとは別に、表の内容をモーダル入力で更新しようとするようなjQuery関数があります。

私が正しくあなたを理解していれば、あなたの代わりにする方法については、お使いのPHPフレームワークのドキュメントを読むことをお勧めします:

  • はAJAX
  • 経由でフォームを送信が更新されますスクリプトを使用して成功したアップデートを扱いますDOMに応じて
+0

あなたの時間をありがとう、私はここにある問題は、私はモーダルの入力ボックスの変更時にロールノの価値を取得しようとすると、私はテーブルからロールノの値を読み取ることができません...任意のトリックや何かをやっている違う 。? – Nick

+0

問題はスコープです。 varsをより高いスコープに追加して、両方の関数がそのスコープを継承し、必要に応じてvarsを上書きすることができます。 名前を表示して名前を変更し、変更イベントをトリガーする:https://jsfiddle.net/1s9u629w/51/ –

+0

@got it ...それは私が探していた.. :) – Nick

関連する問題