jqueryクリックイベントで問題が発生しています。実際、私はテーブルにいくつかのtrを追加していました。私のコードを以下に示します。
HTMLコード:
<table id="tblList">
<thead>
<tr><th>Country Name</th>
<th>CityName</th></tr>
</thead>
<tbody></tbody>
</table>
JQUERYコード:
var rowsCount = $("#tblList tbody").find("tr").length;
var table = "<tr><td>" + countryName + "</td><td>" + cityName + "</td></tr><tr><td colspan='2'><div id='divGridRow'><input type='button' value='add Zip Code' id='btn" + rowsCount + "' class='gridButton'/></div></td></tr>";
$('#tblList').append(table);
上記のコードは正常に機能しています。addZipCodeボタンをクリックしたときにダイアログを表示したいのですが。
ボタンIDを取得するためのコードを以下に記述しました。
$("#tblList tbody").bind('click', function() {
$(this).find("tr").bind('click', function() {
$(this).find("input").bind('click', function() {
console.log($(this).attr("id"));
});
});
});
ただし、ボタンIDを100%取得することはできません。上記のコードでは、もう1つの問題に直面しています。ボタンを最初にクリックすると、 console.logに値が表示されません。3回クリックすると、ボタンIDが1回だけ表示されます。4回クリックすると、ボタンIDが3回表示されます 。btn0btn0 btn0 をクリックすると、 5回目はボタンIDが表示されますこのような6回の アトーンbtn0btn0btn0 btn0 btn0 btn0
テーブルに複数の行を追加すると、行のすべてのボタンにbtn0、btn1、btn2.....のような一意のIDがあります。単純なクリックでボタンIDを取得しようとします。
解決策を見つけるのを手伝ってください。前もって感謝します。
jsfilddlehttp : //jsfiddle.net/umairnoor84/y25LW/で自分自身をチェックしてください