JavaScript动态变量方法调用

时间:2017-04-16 11:00:01

标签: javascript jquery devexpress-mvc

我必须为DevExpress MVC DropDownEdit元素使用动态命名,因为我在视图上多次使用partialview。 我尝试使用以下JavaScript:



<script type="text/javascript">
    var textSeparator = ";";
    function UpdateText(listBox, args) {
        var listBoxName = listBox.name;
        var locDropDown = document.getElementById("printOutDropDown" + listBoxName);
        if (locDropDown != null && locDropDown !== undefined) {
            alert('I am in');
            locDropDown['SetText'](listBox.GetSelectedItem().text);
            locDropDown['HideDropDown']();
        }
       
    }
&#13;
&#13;
&#13;

其中SetText和HideDropDown是DevExpress特定的功能 SetText HideDropDown

我总是得到错误:对象不支持属性或方法&#39; SetText&#39; 我尝试过使用:

locDropDown.SetText(...
locDropDown().SetText(...
locDropDown()['SetText']...

什么都没有用。有人可以给我建议,如何解决这个问题?

其他信息: 1)当我给控件一个特定的名字并且只使用一次,那么一切都有效 2)引发Alert,因此locDropDown绝对不为null或未定义。

THX

1 个答案:

答案 0 :(得分:0)

假设locDropDown是DevExpress控件。

获得控制权的方法是使用客户端控件集合函数:

var locDropDown = 
ASPxClientControl.GetControlCollection().GetByName("printOutDropDown" + listBoxName)

然后你应该能够对该控件使用DevExpress JavaScript函数(例如SetText()等)。