Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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 将列表转换为包含其锚点的低于480px的选择框_Javascript_Jquery_Html - Fatal编程技术网

Javascript 将列表转换为包含其锚点的低于480px的选择框

Javascript 将列表转换为包含其锚点的低于480px的选择框,javascript,jquery,html,Javascript,Jquery,Html,我需要实现一个自定义的选择框,如。我怎样才能把下面的代码转换成那个。这是我目前的工作 这里有一些内容 这里有一些内容 这里有一些内容 这里有一些内容 HTML: <span id='selected_val'></span> <ul id="make-select-box" > <li><a href="#i-bc" onClick='toggleDropDown(1)'> 1 </a></li> &

我需要实现一个自定义的选择框,如。我怎样才能把下面的代码转换成那个。这是我目前的工作 这里有一些内容 这里有一些内容 这里有一些内容 这里有一些内容 HTML:

<span id='selected_val'></span>
<ul id="make-select-box" >
   <li><a href="#i-bc" onClick='toggleDropDown(1)'> 1 </a></li>
   <li><a href="#i-st" onClick='toggleDropDown(2)'> 2 </a></li>
   <li><a href="#i-mm" onClick='toggleDropDown(3)'> 3 </a></li>
   <li><a href="#i-cc" onClick='toggleDropDown(4)'> 4 </a></li>
</ul>
切换下拉列表

var selectval
function toggleDropDown(arg){
  selectVal = arg;
  document.getElementById('selected_val').innerHTML = arg;
  $('#make-select-box').toggle();

}

为此,您可以这样做,在这里,它将显示大屏幕上的列表,在小屏幕的情况下,它将切换到选择框

  <ul id="make-select-box">
     <li><a href="#i-bc"> 1 </a></li>
     <li><a href="#i-st"> 2 </a></li>
     <li><a href="#i-mm"> 3 </a></li>
     <li><a href="#i-cc"> 4 </a></li>
  </ul>

  <select class="toggle-view">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
  </select>
或者,如果您想通过JavaScriptDynamic实现这一点,那么您可以使用以下代码

   var sel = $('<select id="tesing2"/>');
   onResize = function() {
   if($(window).width() < 480) {
       $('#make-select-box li').each(function(){
       sel.append('<option value='$(this).children('a').attr('href')'>'+this.innerHTML+'</option>')
        })
       $('#make-select-box').replaceWith(sel);
    } 
    $('select').on('change', function() {
     var url = this.value;
     window.location = this.value;
    })

  }

  $(document).ready(onResize)

祝你好运:

我是stackoverflow的新手,这里是js fiddle:这对我很有用,但我需要这里的链接。昨天我解决了这个问题,请与我分享。这对我很有帮助。提前感谢共享如果您有任何疑问请告诉我谢谢您的努力,但我想将ul从$window.width<480转换为选择框,我认为标签中的onclick事件会给我不同的结果。再次感谢您的回复。请检查这些提琴。当前提琴:非常有用的提琴,您需要将ul设计为相应的选择框,但我告诉过您功能实现,当选项被选中时,它不会移动到同一页面中的特定id。感谢您的努力,我以前尝试过这段代码。它将一个li转换为带值的选择框,但我需要类似onselect事件和goto某处等的内容,如果您能解决这一问题,可能会很有价值。@ImmranMohammed为您编辑了我的javascript代码,您现在可以检查,您也可以尝试其他选项代替window.location重定向到您的url。这就是我正在寻找的,但这并不是将li转换为选择框。我试过这个,在谷歌上搜索了很多。但是没有用。我找不到这段代码有什么错误。你能帮我查一下是否有语法错误或。。。无论如何,谢谢你的快速回复。你能用你尝试过的代码创建一个plunker吗?
   .toggle-view {
      display : block;
    }
   #make-select-box {
       display : none;
    }

   @media screen and (min-width: 480px) {
     .toggle-view {
         display : none;
      }
     #make-select-box {
         display : block;
      }
    }
   var sel = $('<select id="tesing2"/>');
   onResize = function() {
   if($(window).width() < 480) {
       $('#make-select-box li').each(function(){
       sel.append('<option value='$(this).children('a').attr('href')'>'+this.innerHTML+'</option>')
        })
       $('#make-select-box').replaceWith(sel);
    } 
    $('select').on('change', function() {
     var url = this.value;
     window.location = this.value;
    })

  }

  $(document).ready(onResize)