2015-08-17 92 views
-4

我有一個下拉,填充並使用選擇插件。選擇時,需要填寫頁面的值,而不是文本。我嘗試了幾種不同的方式,但沒有一種可以工作。Jquery沒有選擇正確的值選擇DropDownList

的標記:

<select class="chzn-select" data-placeholder=" -- Select Course -- " id="CourseDropDown" name="CourseDropDown"> 
    <option value=""></option> 
    <option value="1">Option 1</option> 
</select> 

事情我已經嘗試:

$('#CourseDropDown').on('change', function() { 
    var courseID = $(this).val(); 
.... 
    var courseID = $('#CourseDropDown').val(); 
.... 
    var courseID = $('#CourseDropDown :selected').val(); 
.... 

所有這些返回一個空字符串。

我能夠做

var courseID = $(this).text(); 

的標記,以獲得從選擇文本顯然有針對的選擇設定的值。它選擇正確的東西並返回文本。什麼會導致它直接返回值1

+2

無法重現該問題。上述所有似乎都會返回Chrome中的值:http://jsfiddle.net/dfqduznz/ – crush

+3

您的代碼正常工作。檢查這個小提琴http://jsfiddle.net/L7rqusq4/。我想你是在下拉列表中選擇第一個選項,它有一個空值 – Sushil

+0

@Sushil它沒有選擇第一個選項。當我將它切換到.text()時,它會給出正確的選項文本。 –

回答

0

這似乎是從我如何設置選擇。我發現的所有信息都表明,爲了在下拉菜單中顯示佔位符,例如「 - 選擇某種內容」,您需要預先填寫一個空值/選項。看起來,即使標記正確並選擇.text()工作,該值也會覆蓋選項值。

我刪除了前置選項。它現在按原樣運行並仍顯示佔位符。