2012-03-31 40 views
1

我想用ajax jquery的JS做搜索,对于I have taken this piece of code from here: -Jquery的基于Ajax的搜索

现在我有一些问题,我有这样的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

首先,你可以修改搜索功能,这样的事情

$("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(); 
    }); 

}); 
+0

如何使用提交按钮传递值? – 2012-03-31 17:41:45

+0

var cv = $('#newInput')。val(); //来自搜索文本字段的值 类似地,您可以从单选按钮获取值并将它们作为参数发送 – Dhiraj 2012-03-31 17:43:50

+1

您可以在http://www.jsfiddle.net上为我写这篇文章,这将非常有帮助。 – 2012-03-31 17:46:20

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),另一个是按钮值。所有的

+0

所以我现有的JavaScript需要由你给了一个被替换,并进一步我需要添加非常第二个代码。你能不能在http://jsfiddle.net上为我写这个会很有帮助。 – 2012-03-31 17:26:39

+0

可否请你给我一个见解,我怎样才能得到你的答案实施。请。 – 2012-03-31 17:36:30