2013-07-16 105 views
0

我想知道是否有人可以闡明爲什麼設置劍道下拉的選項標籤影響選定的值,以及如何避免這種情況。劍道下拉選項標籤更改選定的值

設置是我有一個由ASP代碼填充的選擇列表。所選值在代碼隱藏中設置。

一切工作正常,除非我指定一個選項標籤。當我這樣做時,選定的值會改變。這是在行動:

console.log("Value before: " + $("#dropdownlist").val()); 

    $("#dropdownlist").kendoDropDownList({ 
     optionLabel: { 
      text: "-- Select An Option --", 
      value: 0 
     } 
    }); 

console.log("Value before: " + $("#dropdownlist").val()); 

Console output: 

Value before: 2 
Value after: 1 

當我開始值= 3,optionLabel設置新的選擇值2。

在此先感謝您的幫助。

+0

你可以在JSFiddler或JSBin中顯示實際的代碼嗎?在我看來,問題中的代碼不是產生輸出的代碼(可能在剪切和粘貼過程中出現錯誤) – OnaBai

+0

在您的示例中,您正在輸出來自兩個不同控件(legalCountryID和dropdownlist)的選定值?你爲什麼在初始化劍道控制之前設置選定的值。先做好控制,然後選擇所選的值,那麼你就不會有這個問題。在Kendo下拉菜單啓動並運行後,您應該使用.value()而不是.val()。例如。 $(「#dropdown」)。data(「kendoDropDownList」)。value() – Vojtiik

+0

感謝您的評論。我對這個錯字感到抱歉 - 我實際上是在參考同一個控件。至於設置選定的值,我這樣做,因爲它需要在服務器端設置。 – christok

回答

0

這是一個小提琴http://jsfiddle.net/vojtiik/VZRwf/1/顯示ddl維護選擇。我的控制檯說3,3,3。你得到不同的值的原因是因爲你的第一個日誌是指不同的控制。

var $select = $('#size'); 

$select.val(3); 

console.log($select.val()); // 3 
var ddl = $('#size').kendoDropDownList({ 
    optionLabel: { 
     text: "-- Select An Option --", 
     value: 0 
    } 
}).data("kendoDropDownList"); 

console.log($select.val()); // 3 
console.log(ddl.value()); // 3 
+0

對不起,這是我的一個錯字。問題依然存在。我會把小提琴放在一起。 – christok

+0

所以......這在小提琴中工作正常,但仍然在我的網站上休息。任何洞察力呢? – christok

+0

你必須告訴我們HTML頁面的其餘部分是什麼。從我的小提琴中,你可以看到你聲稱的不起作用,表現爲你希望它在頁面上沒有其他任何東西。意味着你的問題在別的地方。 – Vojtiik

相關問題