Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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
Javascript dialog.options=函数(opts){ var options=opts.split(“;”); var explodedOptions={}; 对于(选项中的var i){ 如果(选项[i]){ //解析并清除选项 var option=Drupal.simpleDialog.cleanpoption(选项[i].split(“:”); explodedOptions[选项[0]]=选项[1]; } } 返料; } //函数来清除选项。 Drupal.simpleDialog.cleanOption=函数(选项){ //如果是位置选项,我们可能需要解析数组 如果(选项[0]=“位置”&&选项[1]。匹配(/\[.*,.\]/){ 选项[1]=选项[1]。匹配(/\[(.*)\]/)[1]。拆分(','); //检查是否需要将位置转换为int 如果(!isNaN(parseInt(选项[1][0])){ 选项[1][0]=parseInt(选项[1][0]); } 如果(!isNaN(parseInt(选项[1][1])){ 选项[1][1]=parseInt(选项[1][1]); } } //将文本布尔表示转换为布尔表示 如果(选项[1]=“true”){ 选项[1]=真; } else if(选项[1]='false'){ 选项[1]=假; } 返回选项; } Drupal.simpleDialog.log=函数(msg){ if(window.console){ window.console.log(msg); } } })(jQuery);_Javascript_Jquery_Drupal_Jquery Ui Dialog - Fatal编程技术网

Javascript dialog.options=函数(opts){ var options=opts.split(“;”); var explodedOptions={}; 对于(选项中的var i){ 如果(选项[i]){ //解析并清除选项 var option=Drupal.simpleDialog.cleanpoption(选项[i].split(“:”); explodedOptions[选项[0]]=选项[1]; } } 返料; } //函数来清除选项。 Drupal.simpleDialog.cleanOption=函数(选项){ //如果是位置选项,我们可能需要解析数组 如果(选项[0]=“位置”&&选项[1]。匹配(/\[.*,.\]/){ 选项[1]=选项[1]。匹配(/\[(.*)\]/)[1]。拆分(','); //检查是否需要将位置转换为int 如果(!isNaN(parseInt(选项[1][0])){ 选项[1][0]=parseInt(选项[1][0]); } 如果(!isNaN(parseInt(选项[1][1])){ 选项[1][1]=parseInt(选项[1][1]); } } //将文本布尔表示转换为布尔表示 如果(选项[1]=“true”){ 选项[1]=真; } else if(选项[1]='false'){ 选项[1]=假; } 返回选项; } Drupal.simpleDialog.log=函数(msg){ if(window.console){ window.console.log(msg); } } })(jQuery);

Javascript dialog.options=函数(opts){ var options=opts.split(“;”); var explodedOptions={}; 对于(选项中的var i){ 如果(选项[i]){ //解析并清除选项 var option=Drupal.simpleDialog.cleanpoption(选项[i].split(“:”); explodedOptions[选项[0]]=选项[1]; } } 返料; } //函数来清除选项。 Drupal.simpleDialog.cleanOption=函数(选项){ //如果是位置选项,我们可能需要解析数组 如果(选项[0]=“位置”&&选项[1]。匹配(/\[.*,.\]/){ 选项[1]=选项[1]。匹配(/\[(.*)\]/)[1]。拆分(','); //检查是否需要将位置转换为int 如果(!isNaN(parseInt(选项[1][0])){ 选项[1][0]=parseInt(选项[1][0]); } 如果(!isNaN(parseInt(选项[1][1])){ 选项[1][1]=parseInt(选项[1][1]); } } //将文本布尔表示转换为布尔表示 如果(选项[1]=“true”){ 选项[1]=真; } else if(选项[1]='false'){ 选项[1]=假; } 返回选项; } Drupal.simpleDialog.log=函数(msg){ if(window.console){ window.console.log(msg); } } })(jQuery);,javascript,jquery,drupal,jquery-ui-dialog,Javascript,Jquery,Drupal,Jquery Ui Dialog,源代码中使用此模块的链接如下所示: <a href='/user' name='user-login' id='user-login' class='simple-dialog' title='Login ' rel='width:400;resizable:false;position:[center,60]'>Log in</a> 问题是,当你点击该链接时,需要一两秒钟来加载弹出窗口,当它实际加载时,会生成第二组选择下拉列表。若您再次单击登录链接,它将生成第三

源代码中使用此模块的链接如下所示:

<a href='/user' name='user-login' id='user-login' class='simple-dialog' title='Login '  rel='width:400;resizable:false;position:[center,60]'>Log in</a>

问题是,当你点击该链接时,需要一两秒钟来加载弹出窗口,当它实际加载时,会生成第二组选择下拉列表。若您再次单击登录链接,它将生成第三个选择列表。基本上,它复制从ulli转换到select列表的内容

提前谢谢你的帮助

jQuery(文档).ready(函数($){
jQuery(document).ready( function($) {
    $(".region-menu-inner nav").empty(); //empty here
   //build dropdown - main navigation
   $("<select />").appendTo(".region-menu-inner nav");

   // Create default option "Go to..."
    $("<option />", {
      "selected": "selected",
      "value"   : "",
      "text"    : "Navigate..."
    }).appendTo("nav select");  

  // Populate dropdowns with the first menu items
 $(".region-menu-inner li a").each(function() {
    var el = $(this);
    $("<option />", {
       "value"   : el.attr("href"),
       "text"    : el.text()
    }).appendTo(".region-menu-inner select");
 });

//make responsive dropdown menu actually work           
 $(".region-menu-inner select").change(function() {
     window.location = $(this).find("option:selected").val();
 });

}); 
$(“.region菜单内部导航”).empty();//此处为空 //构建下拉列表-主导航 $(“”).appendTo(“.region菜单内部导航”); //创建默认选项“转到…” $("", { “已选定”:“已选定”, “价值”:“, “文本”:“导航…” }).附录(“导航选择”); //使用第一个菜单项填充下拉列表 $(“.region菜单内部li a”)。每个(函数(){ var el=$(本); $("", { “值”:el.attr(“href”), “文本”:el.text() }).appendTo(“区域菜单内部选择”); }); //使响应式下拉菜单真正起作用 $(“.region菜单内部选择”).change(函数(){ window.location=$(this.find(“选项:选中”).val(); }); });
在插入新代码之前,请先尝试删除第一个<代码>(“.region菜单内部导航”).empty()@Harry Bomrah它什么都没做。但第二个选择列表会在弹出窗口内容加载后立即出现(即使是在弹出窗口本身加载时),然后您必须向我显示您的代码。如果可以的话,做一把小提琴。上面我忘记了$,它应该是
$(“.region-menu-inner-nav”).empty()@Harry Bomrah我应该把它放在哪里?我把它放在答案里,这样你就知道该把它放在哪里了。这行删除了导航中的所有内容,即ul li和select。我需要的是检查select是否存在,如果存在,请在插入新的select之前对其进行emtpy,或者根本不插入它。我是如何做到的?我能够接受你的想法,并稍微改变一下,使之适用于我的案例。它现在按预期工作。谢谢你的建议和帮助
<a href='/user' name='user-login' id='user-login' class='simple-dialog' title='Login '  rel='width:400;resizable:false;position:[center,60]'>Log in</a>
jQuery(document).ready( function($) {
    $(".region-menu-inner nav").empty(); //empty here
   //build dropdown - main navigation
   $("<select />").appendTo(".region-menu-inner nav");

   // Create default option "Go to..."
    $("<option />", {
      "selected": "selected",
      "value"   : "",
      "text"    : "Navigate..."
    }).appendTo("nav select");  

  // Populate dropdowns with the first menu items
 $(".region-menu-inner li a").each(function() {
    var el = $(this);
    $("<option />", {
       "value"   : el.attr("href"),
       "text"    : el.text()
    }).appendTo(".region-menu-inner select");
 });

//make responsive dropdown menu actually work           
 $(".region-menu-inner select").change(function() {
     window.location = $(this).find("option:selected").val();
 });

});