JqGrid: Попытка добавить кнопку + справа от поля формы «добавить» (используя elmsuffix) - PullRequest
0 голосов
/ 18 октября 2010

Я могу получить значок, чтобы он появился, и он запускает простое предупреждение, если я помещаю строку javascript в href, но я не могу прикрепить объект диалога к идентификатору ссылки.

Я использую "elmsuffix"чтобы получить html там:

Это работает:

{name:'name',index:'name',width:100,  editable: true,  formoptions:{elmsuffix: "<a id="companysearch" href="javascript:alert('yay it worked!');" ><span id="companysearchicon" class="ui-icon ui-icon-plus" style="position:absolute; top:2px; right:25px; "></span></a>"}},

Это не:

$("#companysearch").click(function(){ alert('yay it worked!'); });

{name:'name',index:'name',width:100,  editable: true,  formoptions:{elmsuffix: "<a id="companysearch" href="javascript:void(0)" ><span id="companysearchicon" class="ui-icon ui-icon-plus" style="position:absolute; top:2px; right:25px; "></span></a>"}},

Это почти как прицелы мешают объектам работать сдруг друга (или я просто равнодушен, неправильно подходя)

Спасибо

Эндрю Финеган

1 Ответ

0 голосов
/ 18 октября 2010

Прежде всего, я предполагаю, что вы используете elmsuffix: '<a id="companysearch" ...', а не elmsuffix: "<a id="companysearch" ...", чтобы иметь правильный синтаксис без экранирования каждых " символов.

Проблема из вашего вопроса когда выиспользуйте $("#companysearch").click(...).На данный момент элемент с id = "companysearch" должен уже существовать в DOM страницы.Поэтому вы должны либо использовать внутри beforeShowForm обработчик событий:

$("#list").jqGrid('navGrid','#pager',{},
    { // edit options
      beforeShowForm: function(form) {
          $("#companysearch").click(function(){
              alert('yay it worked!');
          });
      }
    });

, либо использовать jQuery.live метод:

$("#companysearch").live('click', function() {
    alert('yay it worked (live)!');
});

В маленький пример вы можете увидеть вживую оба способа работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...