Javascript 循环的getOptions()不工作

Javascript 循环的getOptions()不工作,javascript,dynamics-crm-2013,Javascript,Dynamics Crm 2013,下面的代码抛出错误。我尝试在MS CRM 2013中获取(警报)Optionset的值和选项,它成功显示了所有内容,但之后显示错误。我附上了那个错误的屏幕截图 function GetOptionsetLable() { var OptionSetControl = Xrm.Page.getAttribute("test_613a"); for(var intCounter=0; OptionSetControl .getOptions().length; intCounte

下面的代码抛出错误。我尝试在MS CRM 2013中获取(警报)Optionset的值和选项,它成功显示了所有内容,但之后显示错误。我附上了那个错误的屏幕截图

function GetOptionsetLable() 
{
    var OptionSetControl = Xrm.Page.getAttribute("test_613a");
    for(var intCounter=0;  OptionSetControl .getOptions().length; intCounter++)
    {
        var backendvalue=OptionSetControl .getOptions()[intCounter].value;
        alert(backendvalue.toString());
    }
}
你的for循环永远不会结束,因为你不告诉它什么时候停止

OptionSetControl.getOptions().length
应该是:

intCounter < OptionSetControl.getOptions().length
intCounter
完整代码:

function GetOptionsetLable() 
{
    var OptionSetControl = Xrm.Page.getAttribute("test_613a");
    for(var intCounter=0; intCounter < OptionSetControl.getOptions().length; intCounter++)
    {
        var backendvalue=OptionSetControl.getOptions()[intCounter].value;
        alert(backendvalue.toString());
    }
}
函数GetOptionsetLable() { var OptionSetControl=Xrm.Page.getAttribute(“测试_613a”); 对于(var intCounter=0;intCounter
请记住,
value
属性包含optionset数值,而
.text
属性包含标签

您还可以使用较短的for条件:

var options = Xrm.Page.getAttribute("test_613a").getOptions();
for (var i in options) {
    alert(options[i].value);
}
我还创建了一个库,您可以在这里找到:


@Saravanakumar如果我的回答解决了你的问题,请投票并接受我的回答。它奖励我们两个,以及未来的游客。
var options = Xrm.Page.getAttribute("test_613a").getOptions();
for (var i in options) {
    alert(options[i].value);
}