Javascript 将列表转换为包含其锚点的低于480px的选择框
我需要实现一个自定义的选择框,如。我怎样才能把下面的代码转换成那个。这是我目前的工作 这里有一些内容 这里有一些内容 这里有一些内容 这里有一些内容 HTML: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> &
<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)