这对我来说以前工作正常,但我认为有些东西改变了jQuery在WordPress中的排队方式。
$(document).ready(function () {
$('#dialog-modal').dialog({
modal: true,
autoOpen: false,
closeOnEscape: false,
bgiframe: true,
title: 'Please Confirm',
buttons: {
"Ok!": function() {
$(this).dialog("close");
}
}
});
$("[name='records']").on('change',function(e){
var selectedValue = $(this).val();
if(selectedValue==2) {
$('#dialog-modal').dialog('open');
}
});
});
我的控制台显示:
未捕获的TypeError:$不是函数
我引用了这个问题:
TypeError: $ is not a function when calling jQuery function
但我仍然不知道如何正确包装。
答案 0 :(得分:0)
你将$分配给jQuery:
/**
*
* Description
*
*/
( function( window, $, undefined ) {
'use strict';
$( document ).ready( function( ) {
//what is this
$('#dialog-modal').dialog({
modal: true,
autoOpen: false,
closeOnEscape: false,
bgiframe: true,
title: 'Please Confirm',
buttons: {
"Ok!": function() {
$(this).dialog("close");
}
}
} );
// what is this
$("[name='records']").on('change',function(e){
var selectedValue = $(this).val();
if(selectedValue==2) {
$('#dialog-modal').dialog('open');
}
} );
} ); //* end ready
} )( this, jQuery );
答案 1 :(得分:0)
尝试 jQuery 而不是 $ 。 Wordpress通常将其重新命名为jQuery
这样:
jQuery(document).ready(function () {
jQuery('#dialog-modal').dialog({
modal: true,
autoOpen: false,
closeOnEscape: false,
bgiframe: true,
title: 'Please Confirm',
buttons: {
"Ok!": function() {
jQuery(this).dialog("close");
}
}
});
jQuery("[name='records']").on('change',function(e){
var selectedValue = $(this).val();
if(selectedValue==2) {
jQuery('#dialog-modal').dialog('open');
}
});
});
我希望这有效,