我已经开始在公式中使用 dojo。它工作正常,但我有选择框的问题。该选择框的存储是在就绪函数的函数中创建的。之后我做了一个 set('value', data); 与数据,我从 Ajax 调用到服务器。此选择框的值不会改变。如果我在控制台中测试了相同的代码,它也不起作用。我做了另一个选择框,同样的功能改变了另一个选择框的值。
这里的代码从选择框创建代码:
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"]+"');
}
});