Dialog给出TypeError

时间:2016-03-01 20:53:34

标签: javascript jquery dialog typeerror

我只是想打开一个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" /> &nbsp;<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的各种方法,试图找出错误。即使函数存在但是空的,我仍然会得到相同的错误。

1 个答案:

答案 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/

希望有所帮助!