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 和其他很多网站的很多技术,但最后它不起作用。仅当直接在页面上加载用户详细信息时才有效。

我希望我能找到一个有用的答案。

谢谢

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 回答