我的頁面上有一個由幾個ListEditItem對象組成的動態生成的ASPxComboBox。我可能有這樣的事情作爲ASPxComboBox源:通過jQuery獲取DevExpress ASPxComboBox的價值
foreach (KeyValuePair<string, int> row in list)
{
ListEditItem item = new ListEditItem(row.Key.ToString(),
row.Value.ToString());
ddl.Items.Add(item);
}
在這個例子中,row.Value包含的值,例如「1431,5415,12897,3491」等(即隨機數據庫ID值)。在調試模式下逐步執行此代碼將驗證ListEditItems是否添加了正確的值。但是,當我做了查看源文件上生成的HTML,輸出看起來是這樣的:
<option value="1">4DAES</option>
<option value="2">631</option>
<option value="3">ACB</option>
<option value="4">ABDHP</option>
我希望它看起來代替,像這樣(注意選項值的變化對應於數據庫ID的我上述:)
<option value="1431">4DAES</option>
<option value="5415">631</option>
<option value="12897">ACB</option>
<option value="3491">ABDHP</option>
我的問題提供的是這樣的:
使用jQuery,我怎麼可以得到我要找的ID的實際價值?我看到了兩種可能的選擇:
1)ASPxComboBox控件上是否存在一個設置,告訴它呈現正確的值而不是遞增的ID?
2)是否有客戶端方法可以調用控件來爲我獲取該信息?如果是這樣,你能提供一個例子嗎?
如果不是創建一個新的ListEditItem,而是使用Add()的替代語法來直接添加該項目,例如'dd1.Items.Add(row.Key.ToString(),row.Value.ToString( ));'? – AndrewR
同樣的結果很不幸... – Scott
我不知道它爲什麼這樣做,但我有更多的想法。 :)你沒有把'ASPxComboBox.ValueType'改成與'System.String'不同的值嗎?你沒有在ASPxComboBox上設置任何綁定嗎? (文檔中說,如果綁定已設置,則忽略這些項。)您的選項#2不起作用,因爲客戶端代碼只能提取頁面上已有的數據(通過某種Ajax請求獲取數據,這不應該是需要的。) – AndrewR