我已开始在公式中使用dojo。它工作正常,但我有Selectboxes的问题。 该选择框的存储是在就绪功能的功能内创建的。然后我做了一个集('值',数据);使用数据,我从Ajax调用到服务器。此选择框中的值不会更改。如果我在控制台中测试了相同的代码,它也不起作用。 我创建了另一个选择框,同样的功能改变了另一个选择框的值。
这里是selectbox的代码创建代码:
var shop_id = dijit.byId('shopSelect').get('value');
var person_count = document.getElementById("person_count").value;
var produkt_count = document.getElementById("person"+person_count+"_produkt_count").value;
xhr.get({
url: "./ajax_getAlterskategorie.php?shop_id="+shop_id,
handleAs: "json"
}).then(function(data){
var tmp = new Memory({ data: data.selectbox });
var os = new ObjectStore({ objectStore: tmp });
var s = new Select({
store: os,
name: "person"+person_count+"_alter",
style: {width: "200px"} ,
onChange: function ( alterskategorie)
{
if( dijit.byId('shopSelect'))
{
var shop_id = dijit.byId('shopSelect').get('value');
}
else
{
var shop_id = 0;
}
xhr.get({
url: "./ajax_getProdukt.php?alterskat="+alterskategorie+"&getpkat=1&shop_id="+shop_id,
handleAs: "json"
}).then(function(data){
var produkt_count = document.getElementById("person"+person_count+"_produkt_count").value;
var tmp = new Memory({ data: data });
var os = new ObjectStore({ objectStore: tmp });
for( var i = 1; i <= produkt_count; i++)
{
dijit.byId( 'person'+person_count+'_pkat'+i).setStore(os);
}
});
}
}, "person"+person_count+"_alter");
s.startup();
});
这是更改值的代码:
xhr.get({
url: "./ajax_getOrder.php?order_id="+document.getElementById("id").value,
handleAs: "json"
}).then(function(data){
for( i = 1; i <= data.person_count; i++)
{
dijit.byId('person'+i+'_alter').set('value', '"+data["person"][i]["alter"]+"');
}
});
答案 0 :(得分:0)
dijit.byId('person'+i+'_alter').set('value', '"+data["person"][i]["alter"]+"');
为什么要使用'“+和+”',而不仅仅是:
dijit.byId('person'+i+'_alter').set('value', data["person"][i]["alter"]);
确保您尝试使用数据[“person”] [i] [“alter”]设置的数据(密钥)已在选择小部件中可用。
注意:注意你是否使用整数(如1,2,3 .. :)作为选择选项的关键,前段时间它有点儿错误。