diff options
Diffstat (limited to 'ishtar_common/static/js/ishtar.js')
| -rw-r--r-- | ishtar_common/static/js/ishtar.js | 31 | 
1 files changed, 24 insertions, 7 deletions
| diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index da1a47de6..655a91eb4 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -707,6 +707,7 @@ function save_and_close_window_data(main_page, name_label,      var cur_item;      var cur_item_pk;      var id_item; +      if (main_page){          cur_item = $(main_page).find("#" + name_label);          cur_item_pk = $(main_page).find("#" + name_pk); @@ -716,11 +717,27 @@ function save_and_close_window_data(main_page, name_label,          cur_item_pk = $("#" + name_pk);          id_item = $("#id_" + name_label);      } -    cur_item.val(item_name); -    cur_item.change(); -    cur_item_pk.val(item_pk); -    cur_item_pk.change(); -    id_item.change(); +    if (name_label != name_pk){  // custom +		cur_item.val(item_name); +		cur_item.change(); +		cur_item_pk.val(item_pk); +		cur_item_pk.change(); +		id_item.change(); +    } else {  // select2 +    	var data = [{ +    		"id": item_pk, "value": item_name +    	}]; + +		var new_option = new Option(item_name, item_pk, true, true); +		$('#' + name_pk).append(new_option).trigger('change'); + +		$('#' + name_pk).trigger({ +        	type: 'select2:select', +	        params: { +    	        data: data +	        } +	    }); +    }  }  function save_and_close_window_many(name_label, name_pk, item_name, item_pk){ @@ -739,8 +756,8 @@ function save_and_close_window_many_data(main_page, name_label,          cur_item = $(main_page).find("#"+name_label);          cur_item_pk = $(main_page).find("#"+name_pk);      } else { -        cur_item = $("#"+name_label); -        cur_item_pk = $("#"+name_pk); +        cur_item = $("#" + name_label); +        cur_item_pk = $("#" + name_pk);      }      var lbl_ = cur_item;      var val_ = cur_item_pk; | 
