Диалог, DataPicker получить идентификатор

0

Я несколько новичок в javascript и вам нужно интегрировать пару плагинов для одного проекта. Есть ли способ получить customer_id (который был получен, когда диалоговое окно было открыто и предложено автозаполнением) в положение кнопки "Создать новое задание".

Я хочу закрыть первый диалог после нажатия пользователем "Создать новое задание", а затем открыть новое диалоговое окно, но я хочу передать customer_id из первого диалогового окна во второе диалоговое окно. Там может быть некоторое взаимодействие диалога и автозаполнения, что я не мог понять, я просто не могу получить customer_id, прежде чем я называю new_job() функцию.

$(function() {
 $( "#dialog-name" ).dialog({
  autoOpen: false,
})});

function customer_funct(){  
$( "#dialog-name" ).dialog( "open" )

$(function() {
var name = $( "#name" );

  $( "#name" ).autocomplete({
  source: "suggest_name.php",
  minLength: 2,
  select: function( event, ui ) {
    var customer_id = ui.item.customer_id;  

// I am able to get customer_id here,
//now I need to pass it to the function below.
}  
});



$( "#dialog-name" ).dialog({
  autoOpen: false,
  height: 300,
  width: 500,
  modal: true,
  buttons: {
    "Create new job": function() {
        $( this ).dialog( "close" );
        cust_name = (name.val());


// is there any way to get "customer_id" at this location 
// before I call new_job() function after the user selects customer
// from the database and clicks "Create new job"?

        new_job(customer_id, cust_name);

    },
    Cancel: function() {
      $( this ).dialog( "close" );
    }
  }
});
});
  • 1
    Измените свой фрагмент кода лучше, пожалуйста. Проверьте, правильно ли он выглядит в предварительном просмотре после выполнения копирования-вставки перед публикацией. Также создайте скрипту jsfiddle.net, чтобы мы могли легче видеть ваш html и отлаживать.
  • 0
    Извините, отредактировано, как оно теперь представлено на stackoverflow.com, выглядит лучше
Показать ещё 1 комментарий
Теги:
autocomplete
dialog

2 ответа

0
Лучший ответ

Думаю, я сам отвечу на вопрос, подумав. Если кто-то работает над взаимодействием автозаполнения и диалога jQuery, и если вам нужно открыть новое диалоговое окно (в new_job (customer_id)) с идентификатором из предыдущего диалогового окна и закрыть это предыдущее диалоговое окно при успешном выполнении:

$(function() {
$( "#dialog-name" ).dialog({
 autoOpen: false,
})});


function customer_funct(){

$( "#dialog-name" ).dialog( "open" )



$(function() {
 var name = $( "#name" );

  $( "#name" ).autocomplete({
    source: "suggest_name.php",
    minLength: 2,
  select: function( event, ui ) {
      var customer_id = ui.item.customer_id;
    new_job(customer_id);   
    $(this).val(''); return false;
  }  
});



$( "#dialog-name" ).dialog({
  autoOpen: false,
  height: 300,
  width: 500,
  modal: true,
  buttons: {
    "Create new job": function() {

        alert('Please select customer or click "Add New" customer');

         },
    Cancel: function() {
      $( this ).dialog( "close" );
    }
  }
  });
});

}
0

По умолчанию параметр ui события select только содержит свойство "label" и "value"

Событие успеха автозаполнения JQuery UI

Чтобы получить доступ к настраиваемому свойству, вам нужно будет явно добавить его после получения данных через вызов ajax. Подобно этому сообщению.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню