在dijit选择框上设置值不起作用

时间:2012-10-22 10:26:27

标签: javascript dojo drop-down-menu

我已开始在公式中使用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"]+"');
  }
});

1 个答案:

答案 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 .. :)作为选择选项的关键,前段时间它有点儿错误。