Javascript 将选择选项值转换为ul li

Javascript 将选择选项值转换为ul li,javascript,php,Javascript,Php,我有一个选择选项,我想将其用作ul li,但当我使用ul li时,它不起作用 这是我的密码: <select class="order" onchange ="sortex();"> <option <?php if($order==1){echo "selected='selected'";} ?> value="1">Up to Low</option> <option <?php if($order==2){echo "sel

我有一个选择选项,我想将其用作ul li,但当我使用ul li时,它不起作用

这是我的密码:

<select class="order" onchange ="sortex();">
<option <?php  if($order==1){echo "selected='selected'";} ?> value="1">Up to Low</option>
<option <?php  if($order==2){echo "selected='selected'";} ?> value="2">Low to High</option>
<option <?php  if($order==3){echo "selected='selected'";} ?> value="3">A to Z </option>
<option <?php  if($order==4){echo "selected='selected'";} ?> value="4">Z to A </option>
</select>


您似乎想做的是用
select
标记替换它。也许您希望选择一个比默认的、无样式的选择元素外观更好的元素

遗憾的是,Bootstrap的下拉列表不应该作为select元素使用;它只对一堆链接进行分组。但是,如果在每个元素上使用
onclick
调用排序函数,则可以执行您想要的操作:

function sortex(){
myurl='<?php echo $link;  ?>';
val=$(".order").val();
order='?order='+val;
finalurl= myurl+order;
window.location.replace(finalurl);
}
<div class="dropdown">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Sort
  </button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <a class="dropdown-item" href="#" onclick="sortex(1);">Up to low</a>
    <a class="dropdown-item" href="#" onclick="sortex(2);">Low to high</a>
  </div>
</div>
function sortex(sortBy){
  var myurl='<?php echo $link;  ?>';
  var order='?order='+sortBy;
  var finalurl= myurl+order;
  window.location.replace(finalurl);
}

分类
您必须更改功能:

function sortex(){
myurl='<?php echo $link;  ?>';
val=$(".order").val();
order='?order='+val;
finalurl= myurl+order;
window.location.replace(finalurl);
}
<div class="dropdown">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Sort
  </button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <a class="dropdown-item" href="#" onclick="sortex(1);">Up to low</a>
    <a class="dropdown-item" href="#" onclick="sortex(2);">Low to high</a>
  </div>
</div>
function sortex(sortBy){
  var myurl='<?php echo $link;  ?>';
  var order='?order='+sortBy;
  var finalurl= myurl+order;
  window.location.replace(finalurl);
}
功能分类X(分类){
var myurl='';
变量顺序='?顺序='+排序;
var finalurl=我的URL+订单;
窗口。位置。更换(最终);
}
我不建议这样做,因为它不支持“selected”值,因为(再次)这个下拉列表不应该这样使用


因此,只需坚持使用默认的选择标记,或者如果您确实想要更好的选择标记,请搜索创建样式化选择元素的库。

您所说的
不工作是什么意思?
  • -元素没有任何名为
    选定的
    值的属性。它们之间不能互换。您可能希望实际的类名为
    selected
    ,而不是属性
    selected
    。我不认为你可以将这个属性应用于
    li
    重复“不工作”根本不能澄清任何事情!。请阅读所有评论。li和select不可互换。为了能够使用li而不是select,您需要自己构建所有功能和样式(css)
    value
    不是
    li
    元素的有效属性。您不能仅仅将
    选择
    更改为
    ,并期望它也能正常工作。我不知道这需要说多少遍?