0

AJAX をロードした div で jQuery を使用して、テーブルの行を更新して自動的に更新するのが困難です。選択オプションから値を選択した後、div にデータをロードするコード: AJAX 部分

<script type="text/javascript">
  function showUser2(str)
  {
    <!-- code -->
  }
  </script>

オプションパーツを選択:

<select name ='country_select' onchange='showUser2(this.value)'>
  <!-- options -->
</select>

選択した国のすべてのユーザーのリストを含むロードされた DIV:

<div id='txtHint'></div>

DIV には以下が含まれます。

ヘッダ:

ユーザー名削除 ユーザー変更状況

データ:

Ben 削除アイコン ステータス アイコン

最大削除アイコン ステータス アイコン

コード:

<div id="otherdiv">
 <!-- Delete/ Enable user -->
<ul>
 <li>
  <?php echo $data[user_name]; ?>
 </li> 
 <li>
  <a href="#" id="<?php echo $data[training_id]; ?>" class="delete_button">X</a>
 </li>
 <li>
   <a href="#" id="<?php echo $data[training_id]; ?>" class="deassign_training">
    <img src='images/on.png' style='border:0;'/>
   </a>
 </li>
</ul>

 <!-- Delete/Disable user -->
<ul>
 <li>
  <?php echo $data[user_name]; ?>
 </li>  
 <li>               
  <a href="#" id="<?php echo $data[training_id]; ?>" class="delete_button">X</a>
 </li>
 <li>
  <a href="#" id="<?php echo $data[training_id]; ?>" class="assign_training">
   <img src='images/off.png' style='border:0;'/>
  </a>
 </li>
</ul>

画像アイコンをクリックしてユーザーを削除/有効化/無効化しても機能しませんでした。ユーザーを削除するためのコードは次のとおりです。

<script src="http://code.jquery.com/jquery-latest.js"></script>


<script language="javascript" type="text/javascript">
  $(function() {
  $(".delete_button").click(function() {
  var id = $(this).attr("id");
  var dataString = 'id='+ id ;
  var parent = $(this).parent();

  $.ajax({
     type: "POST",
     url: "deleteajax.php",
     data: dataString,
     cache: false,

    success: function(data)
    {
      $("#otherdiv").load("index.php");
    }

   });

  return false;
    });
  });
</script> 

ユーザーを有効/無効にする次のコード:

$(function()
  {
    $(".assign_training").click(function() 
    {
      var id = $(this).attr("id");
      var dataString = 'id='+ id ;
      var parent = $(this).parent();

      $.ajax(
      {
        type: "POST",
        url: "assign.php",
        data: dataString,
        cache: false,

        success: function(data)
        { 
          $("#otherdiv").load("index.php");
        }

      });
      return false;
    });

    $(".deassign_training").click(function() 
    {
      var id = $(this).attr("id");
      var dataString = 'id='+ id ;
      var parent = $(this).parent();

      $.ajax(
      {
        type: "POST",
        url: "deassign.php",
        data: dataString,
        cache: false,

        success: function(data)
        {
          $("#otherdiv").load("index.php");
        }

      });

      return false;
    });

  });

国名を選択した後に機能する理由がわかりません。私はすでにStack Overflowや他の非常に多くのWebサイトから非常に多くの手法を試しましたが、最終的には機能しません. ユーザーの詳細がページに直接読み込まれた場合にのみ機能します。

役立つ答えが見つかることを願っています。

ありがとう

4

1 に答える 1

0

私が見る限り、DOMを作成する前に削除/有効化/無効化イベントを開始しています。これらのブロックを変更してみてください。

<script language="javascript" type="text/javascript">
  $(function() {
    <!-- YOUR CODE HERE -->
  });
</script> 

に:

<script language="javascript" type="text/javascript">
  $(document).ready(function() {
    <!-- YOUR CODE HERE -->
  });
</script> 

これは役立つはずです

于 2012-08-14T08:30:15.100 に答える