jquery-如何在onclick上检测元素值?

时间:2009-07-10 04:29:56

标签: jquery onclick element detect

如何将tr值带入.click事件? 我希望能够将tr id传递给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?测试= 123' 然后回显“开始”。 $ _POST ['test']。 “END”

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

2 个答案:

答案 0 :(得分: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);

});

答案 1 :(得分:4)

您可能想查看jQuery插件jEditable,可编辑的后继者。 链接:http://www.appelsiini.net/projects/jeditable

回到你的问题,你可以通过使用parent(),nearest()或parents()询问属性来获取示例中TR节点的id。我建议不要使用parent(),因为它希望你保持HTML嵌套,就像在你的例子中一样。最好使用parent()或nearest()和过滤器。

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