18910140161

JavaScript-我的选择标签'第一个选项不起作用,但我的其他选项工作得很好-堆栈溢出

顺晟科技

2022-10-18 12:25:17

58

我创建了一个选择字段,以便当用户单击选项时,它将使用JS中的location.href将其发送到相应的页面。

<select onchange="filter_category(this)" id="category">

   <option value="0">All</option>

       {% for cat in catg  %}
          <option  value={{cat.id}}>{{cat.name}} </option>
       {% endfor %}
                    
</select>

JavaScript:

<代码><;脚本>;函数筛选器_类别(元素){警报(元素)location.href=";/market?ID=";+elem.selectedIndex+";&;类别=";+elem.selectedOptions[0].innerText}<;/脚本>;
这里

的问题是,根据我的<script> function filter_category(elem){ alert(elem) location.href="/market?id="+elem.selectedIndex + "&category=" + elem.selectedOptions[0].innerText } </script> 函数,只有我的第一个选项不起作用。当我点击选择字段中的第一个选项时,它什么也不做。但我的所有其他选项都正常工作,并将我转到它们各自的页面。我不知道为什么会这样。

当我单击第一个选项时,我在filter_category()函数中添加

alert函数也不起作用


顺晟科技:

这是一句令人不快的话:

<代码><;选项值=";0";>;全部<;/选项>;

您已将其作为选项选择列表中的第一个选择,因此它不会为您提供有效的CAT ID或CAT名称。您也许可以将其从您的选项列表中排除。

按照@Ezani的建议

更改HTML.默认情况下,每次刷新页面时都会选择第一个选项,因此onChange函数对其不起作用。

下面是代码:

filter_category()
  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航