2012-03-31 85 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