Skip to content

Instantly share code, notes, and snippets.

@steepzero-old
Created October 19, 2017 08:31
Show Gist options
  • Save steepzero-old/5a58b134384c77f2e1ac3885b577e6a8 to your computer and use it in GitHub Desktop.
Save steepzero-old/5a58b134384c77f2e1ac3885b577e6a8 to your computer and use it in GitHub Desktop.
Closure
function makeCallback(id){
return function(suggestion){
var code = '';
if(!!suggestion.data.settlement_kladr_id) {
code = suggestion.data.settlement_kladr_id;
}else if(!!suggestion.data.city_kladr_id){
code = suggestion.data.city_kladr_id;
}
var obj = {
value: suggestion.value,
code: code
};
$('#'+id+'_hidden').val(JSON.stringify(obj));
}
}
function bindSuggestion(item) {
var id = $(item).attr('id');
$(item).suggestions({
token: "<?=$apiKey?>",
type: "ADDRESS",
count: 5,
/* Вызывается, когда пользователь выбирает одну из подсказок */
onSelect: makeCallback(id)
});
}
function addDadata() {
var count =$('.dadataWrapper > div').length;
var div = $('.dadataWrapper > div:last-child').clone();
$('input',div).val('');
$('input[type=hidden]',div).attr('id','dadata_address_'+(count+1)+'_hidden');
$('input[type=text]',div).attr('id','dadata_address_'+(count+1));
$('.dadataWrapper').append(div);
bindSuggestion($('input[type=text]',div)[0]);
}
$(function(){
$('.dadata_multiple').each(function (index, item) {
bindSuggestion(item);
});
$(document).on('change','.dadataWrapper input[type=text]',function () {
$('.dadataWrapper input[type=text]').each(function (index, item) {
if($(item).val()===''){
$('#'+$(item).attr('id')+'_hidden').val('');
}
})
});
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment