2016-10-07 4 views
0

Я использую этот код, чтобы выбрать строку (id) из таблицы, а затем измените ее на другой странице, если не выбрана строка (id). Ничего не должно произойти.PreventDefault on null value

$('#modify').click(function (e) { 
       var id = $.map(table.rows('.selected').data(), function (item) { 
        return item[0]; 
       }); 
       console.log(id); 
       if (id === null) { 
        e.preventDefault(); 
       } else { 
        window.location = "<spring:url value='/secure/purchaseRequests/item/'/>" + id + "/modify"; 
       } 
      }); 

Я печатаю значение идентификатора, и это нулевое значение, почему preventDefault не работает?

+0

Попытка предотвращения по умолчанию немедленно, поэтому ниже функциональности щелчка. – Roberrrt

+0

Я не могу придумать случай, когда 'id' был' null'. Это может быть пустой массив, но это что-то другое. – Bergi

+0

Я думаю, вы должны проверить typeof (id) также, если его строка тогда этот код не работает –

ответ

0

Попробуйте что-то вроде ниже

  $(document).on('click', "#modify", function(e) { 
       var id = $.map(table.rows('.selected').data(), function (item) { 
        return item[0]; 
       }); 
       console.log(id); 
       if (id === null) { 
        e.stopPropagation(); 
        e.preventDefault(); 
       } else { 
        window.location = "<spring:url value='/secure/purchaseRequests/item/'/>" + id + "/modify"; 
       } 
      }); 
+0

Вам необходимо остановить распространение события click до DOM до элемента a, а также предотвратить поведение по умолчанию ссылки – mymotherland

+0

Извините, не работает. –

0

Я нашел решение, по-видимому, значение идентификатора не равно нулю, то пусто и preventDefault должны быть заменены на возвращение ложным. Поэтому достаточно проверить только наличие значения в id.

$('#modify').click(function (e) { 
       var id = $.map(table.rows('.selected').data(), function (item) { 
        return item[0]; 
       }); 
       console.log(id); 
       if (id) { 
        return false; 
       } else { 
        window.location = "<spring:url value='/secure/purchaseRequests/item/'/>" + id + "/modify"; 
       } 
      }); 

 Смежные вопросы

  • Нет связанных вопросов^_^