2009-07-10 16 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