我正在使用jquery mobile并使用simpledialog2来创建对话框。
我的代码
<li><a href="#" data-rel="dialog" onclick="return openpopup();" style="font-weight:normal;">Register</a></li>
function openpopup() {
$('#mobile-login-panel').simpledialog2({
autoOpen: false,
resizable: true,
height: 'auto',
headerText: 'Sign in',
headerClose: true,
width:'auto',
headerClose: true,
blankContent:"SomeHtml"
});
$("div.ui-simpledialog-container ").appendTo($("form#frmdiaLogin"));
return false;
}
现在正确打开此对话框。但是在结束时抛出错误
$.mobile.sdCurrentDialog.sdIntContent.find('select').each(function() {
任何解决方案?
答案 0 :(得分:0)
我能解决的唯一方法是使用未压缩版本的SimpleDialog2.js并更改以下内容:
if ( self.options.mode === 'blank' ) {
$.mobile.sdCurrentDialog.sdIntContent.find('select').each(function() {
if ( $(this).data('nativeMenu') == false ) {
$(this).data('selectmenu').menuPage.remove();
$(this).data('selectmenu').screen.remove();
$(this).data('selectmenu').listbox.remove();
}
});
}
到
if ( self.options.mode === 'blank' ) {
if ($.mobile.sdCurrentDialog) {
$.mobile.sdCurrentDialog.sdIntContent.find('select').each(function() {
if ( $(this).data('nativeMenu') == false ) {
if ( $(this).data('selectmenu') ) {
$(this).data('selectmenu').menuPage.remove();
$(this).data('selectmenu').screen.remove();
$(this).data('selectmenu').listbox.remove();
}
}
});
}
}