ダイアログ関数内で、クリックされたクラスの 'id' になるように I を設定する必要があります (たとえば、最初の '+ Talk' をクリックすると、I = 100006 に設定する必要があります。現在のスクリプトでは、I は次のように設定されます)。 'reqtalkdialog'.
代わりにのIDを取得するにはどうすればよいですか?
注:ダイアログスクリプト内に配置する前に、現在のスクリプトは正しいIDを取得するために使用されていました。また、ご覧のとおり、クリックされたものに応じて変更する必要があるため、グローバル変数として設定することはできません。
フィドル: http://jsfiddle.net/MCam435/NYWg2/8/
HTML:
<div id="reqtalkdialog" title="Confirmation Required">
Would you like to request contact?
</div>
<div id="reqtalk100006" style="display:block"><a href="#" class="reqtalk" id="100006">
<span class="reqtalk_b"> + Talk </span></a> - 100006</div>
<div id="reqtalk100001" style="display:block"><a href="#" class="reqtalk" id="100001">
<span class="reqtalk_b"> + Talk </span></a> - 100001</div>
Jクエリ:
$("#reqtalkdialog").dialog({
autoOpen: false,
modal: true,
buttons : {
"Yes" : function() {
var element = $(this);
var I = element.attr("id");
var info = 'id=' + I;
$.ajax({
type: "POST",
url: "resource/talkrequest.php",
data: info,
success: function(){}
});
$("#reqtalk"+I).hide();
$("#talking"+I).show();
//return false;
$(this).dialog("close");
},
"Cancel" : function() {
$(this).dialog("close");
}
}
});
$(".reqtalk").on("click", function(e) {
e.preventDefault();
$("#reqtalkdialog").dialog("open");
});