2016-04-28 9 views
0

内部要素なさい:私はそのようなHTMLコードをビルドするPHPコードを持っている特定の要素

echo '<button><span class="glyphicon glyphicon-zoom-in afficher_itk" aria-hidden="true"></span></button>'; 

echo' <div class="itk" id="'.str_replace(' ','',$systeme_culture['nom_plante']).'"> 
    <table class="table"> 
     <th><td> 
      <tr colspan="2"> 
        <label>Nom : </label> 
        <input class="nom_itk" id="nom_itk" value="test"> 
      </td</tr> 
     </th> 
    </table> 
</div>'; 

このコードは、動的に生成され、私はそのような1つの以上のコードを持つことができます。

このようなことがいくつかある可能性があるので、私はjavascriptを実行するときに権利要素をターゲットにしたいと思います。

ボタンをクリックすると、対応するinputの中にコンテンツを追加します。最初のものではなく、最後のものではなく、一致するコードでのみ。

私はjsの中のようなものがあります。

をしかし、このコードは動作しません。誰かが私はこれをどうすればいいのか分かりますか?

+0

こんにちはいる場合は、このような何かを探している作品 - https://jsfiddle.net/nw7vb2dk/ –

答えて

0

最も近いitkを選択しないでください。最も近いのは、DOMツリーの上を横切ります。代わりに、現在の要素からitk次へ]を選択し.nextを使用します。私は私がいかに見つけ

$(".afficher_itk").click(function(){ 
    $itk = $(this).next(".itk"); 
    $itk.find(".nom_itk").val("test"); 
}); 
+0

いや、申し訳ありませんが、動作しません。しかし私は自分のやり方を見つけました。ありがとうございました ! – Erlaunis

0

closestを選択する代わりに、という親番号を持つtd親を取得します。その後、find関数を使うことができます。

$itk = $(this).parents('td'); 
$itk.find('.nom_itk').val("lison"); 
0

これを試してみてください。

それは要素がDOMオブジェクト

jQuery("html").on("click",".afficher_itk", function(){ 
    $itk = $(this).next(".itk"); 
    $itk.find(".nom_itk").val("test"); 
}); 
関連する問題