2014-01-20 64 views
0

我正在用各種選擇下拉菜單構建搜索工具,這些下拉菜單通過AJAX填充選項。填充的可能選項基於前面選擇下拉列表中選擇的選項。爲了這個工具的目的,我希望隱藏第一個選擇框,但仍然需要在該框中選擇一個選項,以便它觸發下一個框中的AJAX調用,這是由於「 onchange「事件。如何在jQuery中選擇一個選項,就像用鼠標單擊一樣?

我試過各種不同的代碼來模擬鼠標點擊選擇一個特定的選項,但是,雖然我可以得到選項選擇,但它仍然沒有正確觸發事件來引發AJAX調用選擇後。這是據我已經得到了:

jQuery('#form select').first().val('the-value').trigger('click').trigger('change'); 

一切從我讀過,應該多設置選項的值,並觸發change事件如單擊選項。但是,這不起作用。謝謝!

+0

你的'change'函數在這個調用之上嗎? –

+0

@CarlMarkham這是我認爲的問題,因爲更改函數是在我正在編輯的腳本文件之後必須運行的插件中單獨調用的。我一直在努力完成這一整天 - 非常感謝您的幫助! – maniacaldesign

回答

0

你只需要使用VAL(),像任何其他領域......

$("select").val("2").change(); 

http://jsfiddle.net/Loenix34/3LbjY/

我們也使用變化()調用相關的事件。

+0

我認爲這很接近,但仍然不會讓我對隨後的選擇產生影響,就好像我點擊了它一樣。這是我正在嘗試做的一個非常基本的例子([link] http://jsfiddle.net/maniacaldesign/57Wf7/)。我希望初始選擇被設置,並且作爲所選值改變的條件,第二個值切換到5也被觸發。那有意義嗎? @Loenix – maniacaldesign

+0

噢,我看到 - 根據上面的Cark Markham的說明 - 我上面沒有我的更改函數調用(因爲它實際上在通過php調用的單獨插件文件中調用,我現在明白了 - 感謝您的幫助! Leonix – maniacaldesign

0

不是設置select的值,而是設置給定選項的選定屬性,然後觸發更改。

$("option[value='the-value']").prop('selected', true); 
$("#form select:first").change(); 

Fiddle Demo

+0

這也是有幫助的 - 謝謝@Bic – maniacaldesign

相關問題