我在页面上有几个删除href。
<a href="#" class="delete" data-key=\'{"param1":"'.$id.'", "param2":"'.$id_table.'", "param3":"'.$table.'", "param4":"'.$paginanaam.'", "param5":"'.$template.'", "param6":"'.$lang.'"}\'><i class="fa fa-minus-square fa-lg"></i></a>
当用户点击此链接时,我会显示一个jquery框,询问他是否确定要删除。
到目前为止一切正常,但是我可以使用data-key中的参数使用window.location.href。一些帮助将非常感激。 我已经按照这个例子:http://jsfiddle.net/yayh3/3/
<script>
$(".delete").click(
function() {
$( "#dialog-confirm" ).dialog({
resizable: false,
height:170,
modal: true,
buttons: {
"Verwijder": function() {
var me = $(this),
data = me.data('key');
window.location.href = "pagina_delete.php?id_record="+data.param1+"&id_table="+data.param2+"&table="+data.param3+"&paginanaam="+data.param4+"&template="+data.param5+"&lang="+data.param6;
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
}
);
});
</script>
答案 0 :(得分:0)
您需要捕获被点击元素的上下文。
直接在click
事件处理程序中,您可以存储this
的当前值(将引用单击的元素),然后您可以在嵌套的对话框方法/选项中使用此变量
在这种情况下,您只需在对话框方法中使用var data = $(self).data('key')
。
$(".delete").click(function () {
var self = this;
$("#dialog-confirm").dialog({
resizable: false,
height: 170,
modal: true,
buttons: {
"Verwijder": function () {
var data = $(self).data('key');
window.location.href = "pagina_delete.php?id_record=" + data.param1 + "&id_table=" + data.param2 + "&table=" + data.param3 + "&paginanaam=" + data.param4 + "&template=" + data.param5 + "&lang=" + data.param6;
},
Cancel: function () {
$(this).dialog("close");
}
}
});
});