2014-12-03 2 views
0

Я пытаюсь получить индекс строки таблицы с помощью jquery с помощью функции предупреждения, но я не могу получить какой-либо вывод. Когда я нажимаю на кнопку редактирования, никаких действий нетЯ не получаю предупреждающее сообщение

<html> 
<head> 
<script type="text/javascript"> 
    function check(){ 
     $("table tr").click(function() { 
      alert(this.rowIndex); // alert the index number of the clicked row. 
     }); 
    } 
</script> 
</head> 
<table> 
    <tr> 
    <td> <input type="button" name="test" value="Edit" id="amol" onclick="check();"/> </td> 
    </tr> 
</table> 
</html> 

Пожалуйста, помогите мне с этим!

+0

поскольку нет Jquery не включена в страницу 'проверки функции (эл) { alert (el.rowIndex); // уведомлять номер индекса щелкнутой строки. } 'then' onclick =" check (this); "' будет делать –

+0

$ ("table tr"), это ищет элемент с идентификатором «table tr», а не тип, какой он есть. –

+0

Синтаксическая ошибка. Это должно помочь. havish

ответ

0

JQuery Решение:

Прежде всего, необходимо поместить это в <head> разметки: <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

Изменение:

<input type="button" name="test" value="Edit" id="amol" onclick="check();"/> 

To:

<input type="button" name="test" value="Edit" id="amol"/> 

И JQuery snppet быть как:

$(document).ready(function() { 
    $("table tr").click(function() { 
     alert(this.rowIndex); // alert the index number of the clicked row. 
    }); 
}); 

Working Fiddle

+0

Я пробовал это .. не повезло :( – amol

+0

@amol: попробуйте отредактированный код. – Jinandra

+0

это работает как шарм – amol

0

Код

$("table tr").click(function() 
{ 
    alert(this.rowIndex); // alert the index number of the clicked row. 
}); 

Устанавливает обработчик при нажатии на строку таблицы. Но это, в свою очередь, устанавливается в функции, которая вызывается при нажатии. Вам нужно будет запустить обработчик. Попробуйте:

$(document).ready(function() { 
    $("table tr").click(function() 
    { 
    alert(this.rowIndex); // alert the index number of the clicked row. 
    }); 
}); 

Так что она устанавливает обработчик на строке таблицы, а затем в любое время нажать кнопку, он покажет предупреждение, без «OnClick». Вы бы просто нужно:

<table> 
    <tr> 
    <td> <input type="button" name="test" value="Edit" id="amol"/> </td> 
    </tr> 
</table> 
+0

спасибо, что сейчас он работает – amol

+0

Отлично. Рад, что это сработало. – deitch

0

Ваша логика неверна. Вам не нужно определять функцию check и использовать атрибут onclick. Вам просто нужна часть $("table tr").click(.... Вот пример:

$("table tr").click(function() 
 
{ 
 
    alert(this.rowIndex); // alert the index number of the clicked row. 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <td> <input type="button" name="test" value="Edit" id="amol" /> </td> 
 
    </tr> 
 
</table>

0

Эй !! вы забыли включить jquery.just добавить ссылку jquery.

<html> 
<head> 
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script> 
<script type="text/javascript"> 
    function check(){ 
     $("table tr").click(function(){ 
     alert(this.rowIndex); // alert the index number of the clicked row. 
     }); 
    } 
</script> 
</head> 
    <table> 
    <tr> 
     <td> <input type="button" name="test" value="Edit" id="amol" onclick="check();"/></td> 
    </tr> 
    </table> 
</html> 
0

Прежде всего: вам не хватает библиотеки JQuery, поэтому, пожалуйста, включите его :)

Я нашел два решения, общие и простые:

  • Generic:

ниже фрагмента должен печатать строку и индекс cel для нажатия на ячейку таблицы.

$(document).ready(function() { 
    $("table > tbody > tr > td input").click(function() { 
    var row_index = $(this).closest('tr').index(); 
    var col_index = $(this).closest('td').index(); 
    alert(row_index +' ' + col_index); // alert the index number of the clicked row. 
    }); 
}}); 
  • Простой: Это один напечатает строку и индекс ячейки для данной кнопки Āmol.

    $(document).ready(function() { 
        $("#amol").click(function() { 
        var row_index = $(this).closest('tr').index(); 
        var col_index = $(this).closest('td').index(); 
        alert(row_index +' ' + col_index); // alert the index number of the clicked row. 
        }); 
    }}); 
    

    Я бы не советовал добавить его как действие click, потому что с каждым щелчком вы добавите событие onclick. Лучше сделать это один раз на загрузке страницы, используя jQuery, как в приведенном выше примере.

В-третьих помните, что идентификатор должен быть уникальным в DOM страницы, так что если есть только одна кнопка-то изменить это нормально, но если есть редактирования для каждой строки -replace ней с классом CSS.

0

просто добавить ссылку на JQuery в теге заголовка

<head> 
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script> 
<script type="text/javascript"> 
    function check(){ 
     $("table tr").click(function(){ 
     alert(this.rowIndex); // alert the index number of the clicked row. 
     }); 
    } 
</script> 
</head> 

это ссылка для вас, чтобы начать работу с jquery library