我只是想打开一个JQ对话框,我得到一个JS TypeError(不是函数) 这是div:
<div id="change_dialog" style="display:none">
Change the number of attendees<br /> for <span id="name_to_change"> </span>?
<select id="change_select">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select></p>
<input type="button" id="change_qty_button" value="Change" /> <input type="button" id="change_abort" value="Cancel" />
</div>
这是JS:
$('#change_button').click(function(){
$(".res_button").each(function(){
if ($(this).prop('checked')){
$id = $(this).val();
change_name=$("#"+$id).val();
}
});
$('#name_to_change').html(change_name);
$('#change_dialog').dialog('open');
$('.button_class').hide();
return false;
});
$('#change_dialog').dialog({
autoOpen: false,
modal: false,
minWidth: 180,
closeOnEscape: true,
title: "Attendee Quantity Change",
show:{ effect: "fold", duration: 1000 },
hide:{ effect: "fold", duration: 1000 }
});
这是错误行:
TypeError:$(...)。dialog不是函数
错误指向的行:$('#change_dialog').dialog({
我在任何地方都没有看错。我已经评论了kazoo的各种方法,试图找出错误。即使函数存在但是空的,我仍然会得到相同的错误。
答案 0 :(得分:0)
如上所述,您需要包含jQuery UI库,它在https://code.jquery.com/ui/托管。此外,您的javascript中出现了一个小错误,它会给您一个未定义的变量错误。
<强>的JavaScript 强>
$(document).ready(function() {
$('#change_button').click(function(){
var change_name; //if not included, is undefined at line 10
$(".res_button").each(function(){
if ($(this).prop('checked')){
$id = $(this).val();
change_name = $("#"+$id).val();
}
});
$('#name_to_change').html(change_name); //this was undefined
$('#change_dialog').dialog('open');
$('.button_class').hide();
return false;
});
你可以看到它在这个小提琴中起作用:https://jsfiddle.net/2pkzsxun/1/
希望有所帮助!