Jquery .clickイベントは、最初のボタンをトリガーします。私はデータをループし、自分のhtmlページのボタンにボタンを追加し、クリックすると各ボタンがダイアログボックスをトリガーするようにします。しかし、最初のものだけが動作します!残りはクリックイベントがないようです。Jquery .Clickイベントは、ループの最初のボタンをトリガーするだけです。
$(document).ready(function() {
$("#btn_comment").click(function() {
$("#createComment").dialog(
{
modal: true,
height: 300,
width: 500,
buttons: {
"Create a Comment": function() {
var post_id = $(this).parent().attr("id");
var desc_to_create = $("#txtComment").val();
$.post("CreateComment", { "id": "", "username": "x", "post_id": post_id, "description": desc_to_create, "created": "" }, function (t) {
alert("Thank you! Your comment has been updated!!");
location.reload();
})
},
"Cancel": function() {
$(this).dialog("close");
}
}
}
);
})
})
<tr id='<%= Html.Encode(item.id) %>'>
<td>
<%: Html.ActionLink("Details", "Details", New With {.id = item.id})%> |
<a href="javascript://" class="delete_btn">Delete</a>
</td>
<%-- <td>
<%: item.id %>
</td>
<td>
<%: item.username %>
</td>
<td>
<%: item.title %>
</td>--%>
<td>
<%: item.description %>
</td>
<td>
<input id="btn_comment" type="button" value="Add a Comment" />
</td>
<td>
<div id="new_comment"></div></td>
</tr>
<% Next%>
あなたのページに、IDがbtn_commentのボタンが複数ありますか? IDは一意でなければなりません。 – j08691
@ j08691そうです。複数の場合は、クラスを使用する必要があります。 – Norse