从jQuery对话框处理提交函数(基于this问题)。使用codeigniter和jquery。
我想将ajax POST绑定到jquery对话框按钮单击,但不知道该按钮的选择器应该是什么。我尝试使用.ui-dialog-buttonpane按钮:first或“this”作为选择器;没有工作。
HTML表格
<?php echo form_open('bookmarks/addBookmark'); ?> //form name: create_bookmark
<?php echo form_input('bookn', $bname); ?>
<?php echo form_hidden('booki', $this->uri->segment(4, 0)); ?>
<button class="bb_button">Bookmark</button>
<?php echo form_close(); ?>
的jQuery
$(function() {
$( "#create_bookmark" ).dialog({
autoOpen: false,
width: 250,
height: 250,
modal: true,
buttons: {
"Add location": function() {
$('?????').click(function() { //How do I specify the dialog button?
$.ajax({
url: '/bookmarks/addBookmark',
type: 'POST',
data:{"bookn": $("input[name='bookn']").val(), "booki": $("[name='booki']").val()},
success: function (result) {
alert("Your bookmark has been added.");
}
});
},
Cancel: function() {$( this ).dialog( "close" );}
}
});
});
答案 0 :(得分:4)
您在buttons
对象中指定的功能是点击处理程序
您可以直接在该功能中发送您的请求。
答案 1 :(得分:0)
看起来我打破它并正确缩进后,你错过了}
这是假设Slaks的答案的实现
buttons: {
"Add location": function() {
$.ajax({
url: '/bookmarks/addBookmark',
type: 'POST',
data:{
"bookn": $("input[name='bookn']").val(),
"booki": $("[name='booki']").val()
},
success: function (result) {
alert("Your bookmark has been added.");
}
});
} //<<This one