Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery mobiscroll的setValue在随后打开jQM对话框时不起作用_Jquery_Ajax_Jquery Mobile_Jquery Ui Dialog_Mobiscroll - Fatal编程技术网

Jquery mobiscroll的setValue在随后打开jQM对话框时不起作用

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的初始化是好的。为了

我的问题的简化版本在

我使用的是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>