Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法读取显然未定义-已解决的的的未定义的属性_Javascript_Arrays - Fatal编程技术网

Javascript 无法读取显然未定义-已解决的的的未定义的属性

Javascript 无法读取显然未定义-已解决的的的未定义的属性,javascript,arrays,Javascript,Arrays,我使用的是Telerik(AutoCompleteBox)控件,它包含一个嵌入式下拉控件,可以通过属性_下拉菜单访问该控件。我正在使用dropDownItemDataBound事件触发以下代码: var autoComplete = $find("<%= RadAutoCompleteBox1.ClientID %>"); console.log(autoComplete._dropDown._items); 因此我认为我可以做到这一点: var autoCom

我使用的是Telerik(AutoCompleteBox)控件,它包含一个嵌入式下拉控件,可以通过属性_下拉菜单访问该控件。我正在使用dropDownItemDataBound事件触发以下代码:

var autoComplete = $find("<%= RadAutoCompleteBox1.ClientID %>");
console.log(autoComplete._dropDown._items);
因此我认为我可以做到这一点:

var autoComplete = $find("<%= RadAutoCompleteBox1.ClientID %>");
console.log(autoComplete._dropDown._items[0]._text); // Chevrolet TRAVERSE
console.log(autoComplete._dropDown._items[0]._value); // GM1

它将返回正确的数据。

最可能的解释是,
自动完成。\u下拉列表。\u尝试记录项目文本时,项目仍未定义。浏览器控制台显示在填充时更改的活动对象。检查此示例:是否确定
自动完成。\u下拉列表。\u项目实际上至少有一个元素?向我们展示
console.log(autoComplete.\u下拉列表.\u items)
@Barthy这就是OP正在做的事情;问题是输出的第一行,
[]
表示在console.log调用时数组是空的。是否确定位于索引0处的项未定义?通常可以
等待
或使用回调;人们不应该依赖于超时。
var autoComplete = $find("<%= RadAutoCompleteBox1.ClientID %>");
console.log(autoComplete._dropDown._items[0]._text); // Chevrolet TRAVERSE
console.log(autoComplete._dropDown._items[0]._value); // GM1
waitAndDisplay();
    
function waitAndDisplay(timeout = 50) {
   setTimeout(function () {
      var autoComplete = $find("<%= RadAutoCompleteBox1.ClientID %>");
      console.log(autoComplete._dropDown._items[0]._text);
   }, timeout);
}
function OnClientRequested(sender, eventArgs) {
   var myarray = eventArgs.get_data();
   console.log(myarray[0].Text);
   console.log(myarray[0].Value);
}