2011-05-19 99 views
0

我是相當新的JQuery的和Javascript ...如何從JQuery UI自動完成搜索結果填充選擇元素?

目前我使用下面的技術或代碼來填充從一個jQuery UI自動完成的搜索結果集的輸入框...

var PopulateFields = function(event, ui){ 
       $('#Custid').val(ui.item.Custid); 
       $('#Alpha1').val(ui.item.Alpha1); 
       $('#Alpha2').val(ui.item.Alpha2); 
       $('#CustName').val(ui.item.CustName); 
       $('#Address1').val(ui.item.Address1); 
       $('#Address2').val(ui.item.Address2); 
       $('#City').val(ui.item.City); 
       $('#State').val(ui.item.State); 
    } 
    $("#search-by-custname").autocomplete({ 
       source: "cust_search_by_name.php", 
       minLength: 4, 
       select: PopulateFields 
    }); 

的php腳本抓取來自數據庫的信息並通過JSON將其噴回,格式如下:

[{"label":"A Tire Store","value":"A Tire Store","Custid":"10000","Alpha1":"COD123456","Alpha2":"TIRE","CustName":"A Tire Store","Address1":"123 Cherry Lane","Address2":"","City":"City of Bla","State":"FL","Zip":"555555"}] 

這對輸入框非常有用。
但是,如果我想讓狀態成爲一個選擇框,我將如何使用客戶記錄中的現有值填充該選擇框?

或者,這是不可能的?

我想創建一個數據錄入表單,我想要的功能之一是當他們搜索客戶記錄進行編輯時,他們的搜索將填充表單上的所有字段,然後他們可以編輯它們。

我想爲國家選擇框會救我一些數據驗證邏輯...

我其他的想法是使用一個只讀輸入框的狀態(因爲我知道JQuery用戶界面自動完成將填充的是) ,然後創建一個「狀態選擇器」選擇框來填充只讀輸入「狀態」框以重新提交。

想法?

回答

0

你是說你已經試過這個,它失敗了嗎?因爲如果你有一個選擇類似於

<select id="State"> 
    <option>AK</option> 
    <option>FL</option> 
    <option>WY</option> 
</select> 

然後調用$("#State").val("FL")會工作。

+0

好的......請原諒我的無知,但是,如何將「FL」的值硬編碼從數據庫中返回的JSON字符串中提取數據呢?目前我試過$('#State')。val(ui.item.State);嘗試填充選擇框,但是,這不起作用。然而,這段代碼會填充一個輸入框。 – jthompson333 2011-05-19 17:33:21

+0

我只是試圖在你的例子中對這個值進行硬編碼並且失敗了...... – jthompson333 2011-05-19 17:39:13

+0

好的......我想出了部分問題。我忘記了我使用JQuery UI Combobox(自動完成)使選擇框變得非常漂亮。因此,「Acutal」選擇框正在填充,但它並未顯示在JQuery UI Combobox(自動完成)中。我仍然不知道如何使它填充JQuery UI Combobox(自動完成)。我愚蠢地忘了提到我從他們的例子中使用了JQuery UI的這個特性。謝謝您的幫助。 – jthompson333 2011-05-19 19:21:19