基于Jquery Ajax的搜索

时间:2012-03-31 16:55:20

标签: php javascript jquery ajax search

我想使用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文件?

2 个答案:

答案 0 :(得分:2)

不要使用内联函数,您可以使用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),另一个是按钮值。< / p>

答案 1 :(得分: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();
    });

});