Ext Js ComboBox问题 高分

super_roma 2010-10-14 08:31:10
问题背景描述如下:
有两个Ext.Window,每个window有一个FormPanel。每个FormPanel上只有一个ComboBox。这两个ComboBox的Store不同,mode:'local'。现共有两个按钮,点击相应按钮弹出相应的Window。
问题描述:1.任意点击一个按钮,在弹出的window的Combobox选择一个选项,关闭window。2.点击另一个按钮,在弹出的window的Combobox选择一个选项,关闭window。3.再弹出第一次的window,发现上面的Combobox无法选择了。
请教大家!谢谢!
代码如下:

Ext.onReady( function(){
var data1 = [["A"],["B"],["C"],["D"]];
var data2 = [["1"],["2"],["3"],["4"]];
var store1 = new Ext.data.ArrayStore({
fields:['value'],
data:data1
});
var store2 = new Ext.data.ArrayStore({
fields:['abc'],
data:data2
});

var combox1 = new Ext.form.ComboBox({
store:store1,
mode:'local',
name:'xmlbm',
displayField:'value',
triggerAction : 'all',
width:100,
emptyText:'Please select'
});
var combox2 = new Ext.form.ComboBox({
store:store2,
mode:'local',
name:'xmlxm',
displayField:'abc',
triggerAction : 'all',
width:100,
emptyText:'Please select'
});

var form1 = new Ext.form.FormPanel({
buttons:[
{
text:'Cancel',
handler:function(){
win1.hide();
}
}],
buttonAlign:'center',
items:[combox1]
});

var form2 = new Ext.form.FormPanel({
buttons:[
{
text:'Cancel',
handler:function(){
win2.hide();
}
}],
buttonAlign:'center',
items:[combox2]
});

var win1 = new Ext.Window({
plain:true,
modal:true,
width:500,
height:300,
closeAction:'hide'
});
win1.add(form1);
var win2 = new Ext.Window({
plain:true,
modal:true,
width:500,
height:300,
closeAction:'hide'
});
win2.add(form2);

function showWin1(){
win1.show();
}
function showWin2(){
win2.show();
}

var btn1 = Ext.get('win1');
btn1.on('click',showWin1);
var btn2 = Ext.get('win2');
btn2.on('click',showWin2);
...全文
85 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
super_roma 2010-10-18
  • 打赏
  • 举报
回复
问题已经解决 应该将两个window对象 显示定义属性:applyTo
zoujp_xyz 2010-10-16
  • 打赏
  • 举报
回复
代码没有用过,贴上测试代码:
html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<link href="Ext/resources/css/ext-all.css" rel="stylesheet" type="text/css" />

<script src="Ext/adapter/ext/ext-base.js" type="text/javascript"></script>

<script src="Ext/ext-all.js" type="text/javascript"></script>

<script src="index.js" type="text/javascript"></script>

</head>
<body>
<input id="win1" type="button" value="1111" />
<input id="win2" type="button" value="2222" />
</body>
</html>
js:
[code=JScript]
/// <reference path="Ext/vswd-ext_2.0.2.js" />
Ext.onReady(function() {
var data1 = [["A"], ["B"], ["C"], ["D"]];
var data2 = [["1"], ["2"], ["3"], ["4"]];
var store1 = new Ext.data.ArrayStore({
fields: ['value'],
data: data1
});
var store2 = new Ext.data.ArrayStore({
fields: ['abc'],
data: data2
});

var combox1 = new Ext.form.ComboBox({
store: store1,
mode: 'local',
name: 'xmlbm',
displayField: 'value',
triggerAction: 'all',
width: 100,
emptyText: 'Please select'
});
var combox2 = new Ext.form.ComboBox({
store: store2,
mode: 'local',
name: 'xmlxm',
displayField: 'abc',
triggerAction: 'all',
width: 100,
emptyText: 'Please select'
});

var form1 = new Ext.form.FormPanel({
buttons: [
{
text: 'Cancel',
handler: function() {
win1.hide();
}
}],
buttonAlign: 'center',
items: [combox1]
});

var form2 = new Ext.form.FormPanel({
buttons: [
{
text: 'Cancel',
handler: function() {
win2.hide();
}
}],
buttonAlign: 'center',
items: [combox2]
});

var win1 = new Ext.Window({
plain: true,
modal: true,
width: 500,
height: 300,
closeAction: 'hide'
});
win1.add(form1);
var win2 = new Ext.Window({
plain: true,
modal: true,
width: 500,
height: 300,
closeAction: 'hide'
});
win2.add(form2);

function showWin1() {
win1.show();
}
function showWin2() {
win2.show();
}

var btn1 = Ext.get('win1');
btn1.on('click', showWin1);
var btn2 = Ext.get('win2');
btn2.on('click', showWin2);
});

[/code]
super_roma 2010-10-14
  • 打赏
  • 举报
回复
补充:ext版本3.1.1

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧