【问题标题】:Jquery Ajax based search基于 Jquery Ajax 的搜索
【发布时间】:2012-04-15 00:23:17
【问题描述】:

我想使用 ajax jquery js 进行搜索,为此 I have taken this piece of code from here:-

现在我有一些问题,我有这个 Javascript 代码:-

<script language="JavaScript" type="text/javascript">
<!--
function searchuser(cv) {
    $("#SearchResult").html('<img src="loader.gif"/>').show();
    var url = "elements/search-user.php";
    $.post(url, {contentVar: cv} ,function(data) {
       $("#SearchResult").html(data).show();
    });
}
//-->
</script>

我的表格:-

<label>
        <input onClick="generatenew();" type="radio" name="search_option" value="code" id="search_option_0">
        Customer Code</label></td>
      <td><label>
        <input onClick="generatenew();" type="radio" name="search_option" value="company" id="search_option_1">
        Customer Company</label></td>
      <td><label>
        <input onClick="generatenew();" type="radio" name="search_option" value="name" id="search_option_2">
        Customer Name</label></td>
      <td><label>
        <input onClick="generatenew();" type="radio" name="search_option" value="email" id="search_option_3">
        Customer Email</label>

这是我的搜索文本框

<input type="text" name="searchuser_text" id="newInput" size="25" maxlength="25" class="inputbox MarginTop10">

这是我的搜索按钮

<input onclick="javascript:searchuser('con1');" class="Button" name="search_user_submit" type="button" value="Search">

这是我的展示区:-

<div id="SearchResult">My default content for this page element when the page initially loads</div>

现在我想知道单击按钮时我正在发送数据,即con1。我想向searchuser function 发送两个数据,一个是选定的选项按钮值,另一个是textbox 中的文本。将两个数据都发送到函数后,我将如何获取函数中的数据?我需要将function searchuser(cv) 更改为function searchuser(cv, cvtwo)

另外,虽然$.post(url, {contentVar: cv} ,function(data) 只向 php 文件发送一个数据,但我如何将数据(即 cvcvtwo)发送到 php 文件?

【问题讨论】:

    标签: php javascript jquery ajax search


    【解决方案1】:

    不要使用内联函数,你可以使用 jQuery 的原生绑定功能轻松做到:

    // Search when you click on submit
    $(document).on('click', '.submit_button', function(){
       search('click_button');
    });
    
    // Search when you press enter
    $(document).on('keypress', "#searchString", function(e){
        var c = (e.keyCode ? e.keyCode : e.which);
        if(c == 13) {
            search('pressed_enter');
        }
    });
    

    因此,您可以收集按钮值并将其传递给您的搜索功能:

    function search(button_value) {
        $("#myDiv").html('<img src="loader.gif"/>').show();
        $.post("elements/search-user.php", { search_value: $('#newInput').val(), button_value: button_value} ,function(data) {
           $("#SearchResult").html(data).show();
        });
    }
    

    您所做的是发送带有两个 $_POST 变量的表单:一个是您在搜索框中输入的搜索字符串(称为search_value),另一个是按钮值。

    【讨论】:

    • 所以我现有的 javascript 需要被你给的那个替换,而且我还需要添加第二个代码。能否请您在jsfiddle.net 上为我写这篇文章,这将很有帮助。
    • 能否请您给我一个见解,我如何才能让您的答案得以实施。请。
    【解决方案2】:

    首先你可以把搜索功能改成这样

    $("input[name='search_user_submit']").click(function(){
    var cv = $('#newInput').val();
    var cvtwo = //similar to above
    var data = 'cv='+ cv + '&cvtwo='+cvtwo; // sending two variables
    $("#myDiv").html('<img src="loader.gif"/>').show();
        var url = "elements/search-user.php";
        $.post(url, {contentVar: data} ,function(data) {
           $("#SearchResult").html(data).show();
        });
    
    });
    

    【讨论】:

    • 如何使用提交按钮传递值?
    • var cv = $('#newInput').val(); // 搜索文本字段中的值类似地,您可以从单选按钮中获取值并将它们作为参数发送
    • 能否请您在jsfiddle.net 上为我写这篇文章,这将很有帮助。
    • 嘿,很抱歉再次打扰,但在jsfiddle.net/dhirajbodicherla/ZELnk/1/show 中,要么值无法通过帖子,要么我无法理解传递的确切值。您是否将选择按钮值传递为cvtwo 并将文本框值传递为cv,因为我试图获取这些值但无法获取任何内容,它给了我这个错误:- Notice: Undefined index: cv
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多