我想将参数传递给函数,但是得到错误
无法读取未定义的属性?"
var getNow= function(combo)
{
var checkValue= Ext.ComponentQuery.query('combobox[name=combo]')[0];
checkValue.isVisible();
};
//call it using this:
getNow("comboBoxName");
答案 0 :(得分:1)
尝试
var checkValue= Ext.ComponentQuery.query('combobox[name=combo]')[0];
更改为
var checkValue= Ext.ComponentQuery.query('combobox[name=' + combo + ']')[0];
添加了代码段,看起来很有效,所以你必须提供更多信息。
var states = Ext.create('Ext.data.Store', {
fields: ['abbr', 'name'],
data : [
{"abbr":"AL", "name":"Alabama"},
{"abbr":"AK", "name":"Alaska"},
{"abbr":"AZ", "name":"Arizona"}
]
});
Ext.create('Ext.form.ComboBox', {
fieldLabel: 'Choose State',
store: states,
queryMode: 'local',
valueField: 'abbr',
name: "asd",
renderTo: Ext.getBody(),
// Template for the dropdown menu.
// Note the use of the "x-list-plain" and "x-boundlist-item" class,
// this is required to make the items selectable.
tpl: Ext.create('Ext.XTemplate',
'<ul class="x-list-plain"><tpl for=".">',
'<li role="option" class="x-boundlist-item">{abbr} - {name}</li>',
'</tpl></ul>'
),
// template for the content inside text field
displayTpl: Ext.create('Ext.XTemplate',
'<tpl for=".">',
'{abbr} - {name}',
'</tpl>'
)
});
var getNow= function(combo)
{
var checkValue= Ext.ComponentQuery.query('combobox[name=' + combo+ ']')[0];
console.log(checkValue.isVisible()); // It returns true or false, then what you want it to do?
};
//call it using this:
getNow("asd");
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/extjs/4.2.1/ext-all.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/extjs/4.2.1/resources/css/ext-all.css" rel="stylesheet"/>
&#13;
除非您使用带有特殊字符串表示法的Es6,否则javascript的字符串不会为您解析值,因此此处未使用该组合。