деактивировать событие после того, как я щелкнул в определенной ячейке таблицы - PullRequest
0 голосов
/ 26 ноября 2018

Я использую этот код для замены значения внутри ячейки td и для всплывающего выбора.

$(document).one('click',"#editlanguageinline", function (e) { 
$(this).html('<select><option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option></select>');
      });

Я хотел бы создать встроенное редактирование для этой строки / ячейки таблицы.Таким образом, пользователь должен иметь возможность выбрать значение для каждой новой строки в этом столбце, и после его выбора событие ajax вызывает файл php, в котором обновляется новое значение.Но если я хочу выбрать новое значение в выпадающем меню, событие css снова активируется.Таким образом, событие замены запускается снова, и я не могу выбрать значение.Как я могу избежать этого?Я попробовал команду .one (), но все остальные строки не активируют событие, потому что оно активируется только один раз.Он должен быть деактивирован для ячейки, которую я в данный момент щелкнул, чтобы я мог выбрать значение.

Заранее благодарю за любую помощь.

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Попробуйте:

$('#table').on('click','#editlanguageinline', function (e) { 
    if ($(this).find("select").length==0) {
        $(this).html('<select><option value="volvo">Volvo</option><option value="saab">Saab</option><option value="mercedes">Mercedes</option><option value="audi">Audi</option></select>');
    }
});
0 голосов
/ 26 ноября 2018

Я создал образец fiddle с вашим примером и моими модификациями.Ключевым моментом является то, что вам нужно привязать ваше мероприятие только ко всем тд.И в этом случае выбор изменения не сработает снова.

$('#table').on('click','td', function (e) { 
  $(this).html('<select><option value="volvo">Volvo</option><option value="saab">Saab</option><option value="mercedes">Mercedes</option><option value="audi">Audi</option></select>');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...