首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过DevExpress ASPxComboBox获取jQuery值

通过DevExpress ASPxComboBox获取jQuery值
EN

Stack Overflow用户
提问于 2012-09-10 18:52:55
回答 1查看 3.6K关注 0票数 1

我的页面上有一个动态生成的ASPxComboBox,它由几个ListEditItem对象组成。我可能有这样的东西作为ASPxComboBox的来源:

代码语言:javascript
复制
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执行View Source时,输出如下所示:

代码语言:javascript
复制
<option value="1">4DAES</option>
<option value="2">631</option>
<option value="3">ACB</option>
<option value="4">ABDHP</option>

我希望它看起来像这样(注意选项值的变化,以对应于上面提供的数据库ID:)

代码语言:javascript
复制
<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)是否有一个客户端方法可以调用控件来为我获取该信息?如果是的话,你能提供一个例子吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-10 20:51:37

我想出了答案:

代码语言:javascript
复制
var clientInstanceName = this.data('clientinstancename');
var combo = ASPxClientControl.GetControlCollection().GetByName(clientInstanceName);
return combo.GetSelectedItem().value;

ASPxComboBox控件有一个"ClientInstanceName“属性,允许您为该对象分配名称,以便您可以操纵它的客户端。由于我正在动态地创建这些控件,所以我无法提前知道名称,因此我将其添加为"data-“属性,如下所示:

代码语言:javascript
复制
ddl.ClientInstanceName = fld.FieldName;
ddl.Attributes.Add("data-clientinstancename", fld.FieldName);

底线是,为控件定义一个ClientInstanceName属性,然后使用第一个片段中的代码获取所需的值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12357735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档