【问题标题】:jquery- how to detect element value when onclick?jquery-onclick时如何检测元素值?
【发布时间】:2009-07-10 04:29:56
【问题描述】:

如何将 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?test=123' 然后回显“开始”。 $_POST['test'] 。 “结束”

我也试过其他方法,不行。

【问题讨论】:

  • 似乎html本身很奇怪。你有一个 tr 但没有 td,你把 span 放在里面,然后放一个 br ......我建议你先正确格式化你的 html。

标签: jquery onclick element detect


【解决方案1】:

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

回到您的问题,您可以通过使用 parent()、closest() 或 parents() 请求属性来获取示例中 TR 节点的 ID。我建议不要使用 parent(),因为它希望您将 HTML 嵌套在您的示例中。最好将 parents() 或最接近的() 与过滤器一起使用。

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

【讨论】:

    【解决方案2】:
    $(".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 或 2 那么你应该使用 $(this).parent().parent().attr("id") 因为第一个父级是 td,而它的父级是tr 持有 id 值
    猜你喜欢
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2011-03-24
    • 2012-09-08
    相关资源
    最近更新 更多