简体   繁体   English

刷新后无法自动选择select2,initSelection和callback无效

[英]select2 after refresh cannot be auto selected,initSelection and callback no working

[html] [html]

<input style="width: 200px;"  type = 'text' data-init-text = '$this->item_code' value = '$this->item_code' name = 'item_code' id = 'item_code' /> 

[javascript] [javascript]

function itemCodeAutoComplete(){

                        $("#item_code").select2({
                              placeholder: "Search for a Item",
                              minimumInputLength: 1,
                              id : function(priv) {
                                    return priv.code;
                              },

                              ajax: { 
                                  url: 'autocomplete.php?action=item&type=s&bpartner_id='+$('#bpartner_id').val()+"&category_id="+$('#category_id').val()+"&warehouse_id="+$('#warehouse_id').val(),
                                  dataType: 'json',
                                  quietMillis: 250,
                                  data: function (term, page) {
                                      return {
                                          q: term, // search term
                                      };
                                  },
                                  results: function (data, page) { 
                                      return { results: data.items };
                                  }
                              },
                                initSelection: function(element, callback) {
                                        var elementText = $(element).attr('data-init-text');
                                            elementText = "test";
                                        var data = [{id: elementText , text:elementText}];

                                        callback(data);

                                },
                              formatResult: function(data) {
                                             var markup = '<div class="row-fluid">' +
                                             '<div class="span2" >'+data.label+'</div></div>';
                                              return markup;
                                          },
                              formatSelection: function(data){
                                            $('#item_name').val(data.label_name);
                                            $('#uom_id').val(data.label_uomid); 
                                            $('#unit_price').val(data.label_unitprice);
                                            $('#item_id').val(data.id);
                                            return data.value;
                                          },
                          });

Cannot do a auto display text => "test" and also callback is not working. 无法自动显示文本=>“ test”,并且回调也不起作用。

`problem solve. `问题解决。 now i know callback(data); 现在我知道回调(数据); mean go to my formatSelection(data), so inside data.value field need same with initSelection field 意思是转到我的formatSelection(data),所以在data.value字段内部需要与initSelection字段相同

because formatselection return data.value; 因为formatselection返回data.value; so in initSelection aslo need to set text become value callback(data); 因此在initSelection中还需要将文本设置为值回调(数据); },` },`

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM