我有两个 dev express 下拉控件,一个包含“产品类型”,另一个包含“交付方式”。每个元素中有一个元素彼此直接相关,如果选择一个元素,则应同时选择另一个元素。
控件当前是这样声明的:
<dx:ASPxComboBox runat="server" ID="cbDeliveryMethod" ValueField="Id"
TextField="Name" ClientIDMode="Static" ClientInstanceName="cbDeliveryMethod">
<ClientSideEvents SelectedIndexChanged="cbDeliveryMethodSelection" />
</dx:ASPxComboBox>
<dx:ASPxComboBox runat="server" ID="cbProductType" ValueField="Id"
ValueType="System.String" TextField="Name" ClientIDMode="Static"
ClientInstanceName="cbProductType">
<ClientSideEvents SelectedIndexChanged="cbProductTypeSelection" />
</dx:ASPxComboBox>
控件呈现为:
<input class="..." id="cbProductType_I" name="ct100$MainContent$uc...$...cbProductType">
....
<input class="..." id="cbDeliveryMethod_I" name="ct100$MainContent$uc...$...$cbDeliveryMethod" >
我的 javascript 当前定义为:
function cbProductTypeSelection(s, e) {
console.log("product type");
var alertMe = $('#cbDeliveryMethod_I').val();
console.log(alertMe); // :(
// $('#cbDeliveryMethod').val('required delivery method here');
debugger;
}
function cbDeliveryMethodSelection(s, e) {
console.log("delviery method");
var alertMe = $('#cbProductType').val();
console.log(alertMe); // :(
// $('#cbProductType').val('required product type here');
debugger;
}
我试图在 javascript 中完成这一切以避免页面回发。记录器当前返回的是空字符串,所以我相信我没有正确检索控件。我一直在尝试使用此资源作为引用:Dev Express & JQuery
最佳答案
使用客户端 GetValue/SetValue 或 GetText/SetText 方法: ...
function cbProductTypeSelection(s, e) {
var ownValue = s.GetValue();
var ownText = s.GetText();
//ClientInstanceName="cbDeliveryMethod"
var cbDeliveryMethodValue = cbDeliveryMethod.GetValue();
var cbDeliveryMethodText = cbDeliveryMethod.GetText();
}
function cbDeliveryMethodSelection(s, e) {
var ownValue = s.GetValue();
var ownText = s.GetText();
//ClientInstanceName="cbProductType"
var cbProductTypeValue = cbProductType.GetValue();
var cbProductTypeText = cbProductType.GetText();
}
关于javascript - 使用 JQuery 访问/设置 dev express 下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21914802/