2010-05-17 45 views
1

嗨,我正在開發一個web應用程序。我正在從數據庫檢索選擇框的選項,我想寫這些記錄selectbox.My頁面結構是這樣的:當我寫jQuery的不同PHP頁面的選擇框的選項,它失敗!

main.php =>有一個選擇框在這個頁面<select id="my_select"></select>

retrieve_data.php =>我做了一個ajax調用這個頁面,這個頁面從db獲取電話號碼,並將數據響應到main.php。

我從retrieve_data.php中獲取數據,但是當想將這些響應寫入選擇框時,失敗。只有空的選擇框出現。

我喜歡他的迴應:<option>blabla</option> ......

,我寫的是這樣的:$("#my_select").html(response);

我驚動了書面迴應中選擇框前,它會提醒正確的選項,但是當我試圖把它們寫到選擇框它fails.can誰能幫我感謝事先...

+0

你可以請驗證響應是一個字符串,而不是(例如)一個數組? – user113716 2010-05-17 16:34:20

+0

您是否檢查過Firebug中的json響應?你應該更好地瞭解你的迴應結構。或者爲你的警報,試試這個:'alert(typeof JSON.data.response);' – user113716 2010-05-17 17:02:09

+0

我做了你說的,我的迴應是一個字符串。 – 2010-05-17 17:04:10

回答

2

我打算出去,假設response以單個成員數組的形式回來。這可以解釋爲什麼alert()顯示響應,但它沒有被插入。

所以,試試這個:

$("#my_select").html(response.join('')); 

編輯:在輸出

<option>標籤被拼錯。

+0

嗨帕特里克我的響應類型是JSON,我用你的代碼:$(「#my_select」)。html((JSON.data.resonse).join(''));但它沒有工作 – 2010-05-17 16:46:43

0

使用jQuery .html()功能正確的,但我需要看到更多的代碼來了解你的問題。特別是response等於什麼?正如其他人所提到的,它看起來像response變量會以JSON形式返回,而不是簡單的字符串。當你做alert(response);時,你可以發佈它看起來像什麼嗎?

+0

function get_setting_numbers(type){var_type = type; $就({ 類型: 'POST', URL: '功能/ get_setting_numbers.php', 數據: '類型=' +型, 數據類型: 'JSON', 成功:函數(JSON){ \t \t \t如果(JSON.data.result == 「真」){ \t \t \t警報(JSON.data.response); $( 「#first_rule」)HTML(JSON.data.response);} else { open_message(JSON.data.response,0); \t \t} \t} }); } – 2010-05-17 16:40:15

+1

您應該在問題本身發佈與您的問題相關的其他內容。以適當的間距等等......使試圖幫助你的人可讀。只需編輯問題並添加新內容。 – jordanstephens 2010-05-17 18:06:53

0

如果您使用的是Explorer,則可能是this bug

+0

我使用的是Firefox – 2010-05-17 16:52:25