2009-07-10 4 views
2

tr値を.clickイベントにどのように持ち込むのですか? iが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> 

入力し、更新SQLのよくとしてupdatedb.phpにTR IDを渡すことができるようにしたい、後継者を持っていないjeditable。私は最終的にグローバルへの価値を得ることができます。しかし今、別の問題に直面しています。 Jeditableは私が余分な値を渡すことはできません...

私は 編集可能な( 'updatedb.php?テスト= 123' はその後、 "START" をエコー試してみました。$ _POST [ 'テスト']。 "END"

私も働いていない、他の方法を試してみました

+2

html自体は非常に奇妙です。あなたはtrを持っていますが、tdはありません。そして、そのスパンの内側とbrを入れてください。 まず、あなたのhtmlを適切にフォーマットすることをお勧めします。 – xandy

答えて

4

あなたはjQueryのプラグインjEditable、編集可能な後継をチェックアウトすることができます リンク:。。http://www.appelsiini.net/projects/jeditable

を戻るあなたの質問に、あなたは取得することができます あなたの例のTRノードのidは、parent()、closest()またはparents()のいずれかを使って属性を要求します。私はあなたの例のようにHTMLをネストしたままにすることを期待しているので、parent()に対してお勧めします。フィルタで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" 
     }); 
    }); 
} 
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

関連する問題