jquery- как определить значение элемента при onclick?
Вопрос
как мне ввести значение tr в событие .click?я хочу иметь возможность передавать идентификатор tr в updatedb.php также - для обновления sql
войти
<head>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="jquery.jeditable.mini.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
var global= ""
$('.click').click(function() {
var $this = $(this);
var $tr = $this.closest('tr');
alert($tr.attr('id'));
global= $tr.attr('id');
});
$('.click').editable('updatedb.php?test=123', {
indicator : "<img src='indicator.gif'>",
tooltip : "Click to edit...",
onblur : 'submit',
style : "inherit"
});
});
</script>
</head>
<body>
<tr id=1>
<td>
<span class="click" style="display: inline">Funny click here testing!</span>
<br />
</td>
</tr>
<tr id=2>
<td>
<span class="click" style="display: inline">Second inline!</span>
</td>
<tr>
</body>
</html>
здесь
Привет, у jeditable нет преемника.Наконец-то мне удается перевести значение в глобальный формат.Но теперь столкнулся с другой проблемой.Jeditable не позволяет мне передавать дополнительное значение...
Я пробовал редактируемый('updatedb.php?test=123' затем повторите "НАЧАТЬ" .$_POST['тест'] ."КОНЕЦ"
Я также попробовал другой способ, но он не сработал.
Решение
Возможно, вы захотите ознакомиться с плагином jQuery jEditable, преемником editable.Ссылка: http://www.appelsiini.net/projects/jeditable
Возвращаясь к вашему вопросу, вы можете получить идентификатор узла TR в вашем примере, запросив атрибут с помощью parent(), closest() или parents() .Я бы рекомендовал отказаться от parent(), потому что он ожидает, что вы оставите HTML вложенным точно так же, как в вашем примере.Лучше использовать parents() или closest() с фильтром.
$(document).ready(function() {
$('.click').each(function() {
var $this = $(this);
var $tr = $this.closest('tr');
// Do stuff with $tr like checking it, extracting $tr.attr('id') ...
$this.editable('updatedb.php', {
indicator : "",
tooltip : "Click to edit...",
onblur : 'submit',
style : "inherit"
});
});
}
Другие советы
$(".click").click(function(){
alert($(this).text()) // Funny click here testing! or Second inline! (o/p);
alert($(this).parent().parent().attr("id")) // 1 or 2 (o/p);
});