Jquery mobiscroll的setValue在随后打开jQM对话框时不起作用
我的问题的简化版本在 我使用的是mobiscroll 2.6.2,因为这是github上最后一个免费版本。存在高达2.11的更高版本,但使用不同的许可证 基本上,我有一个索引页面,它什么也不做,只包含一个指向jQM对话框页面的链接。 html是具有单个输入的jQM对话框页面,mobiscroll库将其转换为用于选择数字的弹出式滚动条 mobiscroll有效。选择输入时会出现弹出式滚动条。我可以从滚动条中选择一个数字,它用我的选择填充输入。所以我很确定我对mobiscroll的初始化是好的。为了便于复习,我将在这里重复:Jquery mobiscroll的setValue在随后打开jQM对话框时不起作用,jquery,ajax,jquery-mobile,jquery-ui-dialog,mobiscroll,Jquery,Ajax,Jquery Mobile,Jquery Ui Dialog,Mobiscroll,我的问题的简化版本在 我使用的是mobiscroll 2.6.2,因为这是github上最后一个免费版本。存在高达2.11的更高版本,但使用不同的许可证 基本上,我有一个索引页面,它什么也不做,只包含一个指向jQM对话框页面的链接。 html是具有单个输入的jQM对话框页面,mobiscroll库将其转换为用于选择数字的弹出式滚动条 mobiscroll有效。选择输入时会出现弹出式滚动条。我可以从滚动条中选择一个数字,它用我的选择填充输入。所以我很确定我对mobiscroll的初始化是好的。为了
$('#mobiInput').mobiscroll()
.scroller({
theme: 'ios',
mode: 'scroller',
display: 'bubble',
wheels: [ // Wheel groups array
[ // First wheel group
{
label: 'Number',
values: ['9','8','7','6','5','4','3','2','1']
}
]
],
onSelect: function(valueText, inst) {
}
});
我尝试使用的函数是mobiscroll的
我将其设置为2的值
var valueArray = ["2"];
$('#mobiInput').mobiscroll('setValue', valueArray, true);
这实际上是有效的。。。第一次打开对话框页面时。输入显示值2,当我弹出滚动条时,选择值2
但是,当我通过单击“取消”按钮、“确定”按钮或“关闭”图标关闭对话框并重新打开对话框时,setValue函数似乎不起作用。输入中没有2的值。当我弹出滚动条时,它默认为第一个值9
我猜这不是mobiscroll中的错误,而是我对jQM ajax导航的误解。问题在于每次打开对话框时都会加载mobiscroll样式表和JS库。尽管外部对话框已从DOM中删除,但与Mobiscroll相关的库并未删除
解决方案1:
加载与Mobiscroll相关的所有库以及索引/首页中的初始化代码
<!-- index/first page -->
<head>
<!-- Mobiscroll style sheet -->
<!-- MobiScroll JS library -->
<script>
$(document).on("pagecreate", "#dialogID", function () {
/* initialize Mobiscroll and setValue */
});
</script>
</head>
一如既往,你是对的,奥马尔!你就像jquery移动世界中我的守护天使。英雄联盟
<!-- index/first page -->
<head>
<!-- Mobiscroll style sheet -->
<!-- MobiScroll JS library -->
</head>
<!-- external dialog -->
<div data-role="page" id="dialogID" data-dialog="true">
<script>
$(document).off("pagecreate", "#dialogID").on("pagecreate", "#dialogID", function () {
/* initialize Mobiscroll and setValue */
});
</script>
</div>