我根据对Select字段的更改在jQuery对话框中启用OK按钮。
该部分有效,但当我点击“确定”或“关闭”时,为了保存该信息并继续,出现以下错误。
Chrome:未捕获的TypeError:无法读取属性' apply'未定义的
Firefox:TypeError:d.click未定义
... e =" button">')。click(function(){d.click.apply(c.element [0],arguments)})... 。
jquery-ui.min.js(第14行,第5350栏)
var disposition; // I'm using this so that the alert('fixed') doesn't get call on load...
// Callback Disposition Dialog
$('#disposition_modal').dialog({
open: function () { // removed the default close link
$(this).parent().children(':first').children('a').remove();
},
buttons: [{
text: 'Cancel',
Ok: function () {
$(this).dialog("close");
}
}, {
text: 'OK',
disabled: true,
id: 'dm_btn',
Ok: function () {
if (disposition !== '' && undefined !== disposition) {
alert('fixed');
$(this).dialog("close");
}
}
}]
});
// toggle the OK button
$('#disposition_id_in2').change(function () {
disposition = $('#disposition_id_in2').val();
if ($('#disposition_id_in2').val()) {
$('#dm_btn').attr('disabled', false);
} else {
$('#dm_btn').attr('disabled', true);
}
});
这是JSFiddle将问题简化为最低限度的问题:JSFiddle button error
答案 0 :(得分:3)
您需要更改"确定"到"点击"按钮。
buttons: [{
text: 'Cancel',
click: function () {
$(this).dialog("close");
}
}, {
text: 'OK',
disabled: true,
id: 'dm_btn',
click: function () {
console.log(disposition);
if (disposition !== '' && undefined !== disposition) {
alert('fixed');
$(this).dialog("close");
}
}
}]