javascript - jQuery ajax 成功页面中的搜索框 - 循环中的问题

标签 javascript jquery

首先,我的主页上有一些标签链接。单击每个,使用 jquery.ajax 将值发布到 b.php 并在 div#result 中返回值。

b.php 有一个搜索框。在其中搜索内容时。结果数据仍将显示在 div#result 中。

我的问题是:我知道如果我将在 b.php 中执行 jQuery ajax,我应该在第一个 成功部分 中编写 jQuery 代码。但这只能控制一次,当我继续在搜索框中搜索时,jQuery 不起作用。我想我遇到了循环问题。如何解决?

a.php

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">    
 $(document).ready(function(){
    $('.click').click(function(){
    var value1 = $(this).text();
        $.ajax({
            url: "b.php", 
            dataType: "html",
            type: 'POST', 
            data: "data=" + value1, 
            success: function(data){
            $("#result").html(data);
            $('#search').click(function(){
            var value = $('#search1').val();
                $.ajax({
                    url: "b.php", 
                    dataType: "html",
                    type: 'POST', 
                    data: "data=" + value, 
                    success: function(data){
                        $("#result").html(data);
                    }
                });
            });
            }
        });
      });
    });
</script>
<a rel="aa" class="click">aa</a>
<a rel="aa" class="click">bb</a>
<div id="result"></div>

b.php

<?php
echo $_POST['data'];
?>
<form name="form">
<input type="text" value="" id="search1">
<a name="nfSearch" id="search">search</a>
</form>

最佳答案

当一个新元素被引入到页面时,jQuery .click() 方法变得无用,因为它只能看到属于原始 DOM 的元素。您需要使用的是 jQuery .live() 方法,该方法允许您将事件绑定(bind)到在加载 DOM 后创建的元素。您可以在下面的链接中阅读有关如何使用它的更多信息。

.live() – jQuery API

$('#search').live('click', function(e) {
    // Prevent the default action
    e.preventDefault();

    // Your code here....
});

关于javascript - jQuery ajax 成功页面中的搜索框 - 循环中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6252799/

相关文章:

javascript - learnyounode - 异步杂耍 - http.get() 的重复结果

javascript - 使用和不使用 JavaScript 创建 Bootstrap 下拉菜单

javascript - 是否可以声明自己的 typescript 模块并像 npm 包一样导入它们

javascript - 为什么不能将 JS 对象字面量转换为 JSON ?

jQuery 移动 : Set focus on a textbox?

javascript - 将 AJAX 添加到 PHP 表单

javascript - 如何使用 PHP 存储选定的日期选择器 javascript

javascript - AngularJS在html中调用 Controller 函数

javascript - 如何使用 JQuery 检查单选按钮是否被选中?

jquery - Uncaught ReferenceError : $ is not defined after applying Bootstrap Template