2009-07-10 17 views
2

我如何将tr值带入.click事件? 我希望能够到TR ID传递到updatedb.php作为良好的SQL更新jquery-如何检测onclick时的元素值?

进入

<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?测试= 123' 然后回声 “START”。$ _ POST [ '测试'。 “END”

我也尝试过其他方式,而不是工作

+2

似乎html本身很奇怪。你有一个tr但没有td,你把span放在里面,然后在那之后... 我建议你先格式化你的html。 – xandy 2009-07-10 04:50:03

回答

4

您可能要检查出的jQuery插件jEditable,继任为可编辑 链接:。http://www.appelsiini.net/projects/jeditable

回到你的问题,你可以得到 在你的例子中通过使用parent(),nearest()或parents()来请求属性的TR节点的id。我建议反对parent(),因为它期望您完全像在您的示例中那样嵌套HTML。更好地使用父母()或最近()与过滤器。

$(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" 
     }); 
    }); 
} 
4
$(".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); 

}); 
+0

如果你想返回1或2,那么你应该使用 $(this).parent()。parent()。attr(“id”) 因为第一个父母是td,并且父母的那个是持有id值的tr – RaYell 2009-07-15 11:18:33