Javascript 我需要配置两个选择框和一个带有按钮的输入字段
Javascript 我需要配置两个选择框和一个带有按钮的输入字段,javascript,html,Javascript,Html,var输入、过滤器、ol、li、a、i; 函数提交(){ 输入=document.getElementById(“myInput”); filter=input.value.toUpperCase(); ol=document.getElementById(“myList”); li=ol.getElementsByTagName(“li”); 对于(i=0;i-1){ 李[i].style.display=“”; }否则{ li[i].style.display=“无”; } } } 职能转变
var输入、过滤器、ol、li、a、i;
函数提交(){
输入=document.getElementById(“myInput”);
filter=input.value.toUpperCase();
ol=document.getElementById(“myList”);
li=ol.getElementsByTagName(“li”);
对于(i=0;i-1){
李[i].style.display=“”;
}否则{
li[i].style.display=“无”;
}
}
}
职能转变机构(索引){
如果(索引==0){
ol=document.getElementById(“myList”);
li=ol.getElementsByTagName(“li”);
对于(i=0;i-1){
李[i].style.display=index==1?”:“无”;
}否则{
李[i].style.display=index==1?“无”:;
}
}
}
}
功能更改年份(索引){
如果(索引==0){
ol=document.getElementById(“myList”);
li=ol.getElementsByTagName(“li”);
对于(i=0;i-1){
李[i].style.display=“”;
}否则{
li[i].style.display=“无”;
}
}
}
}
div{
利润率:50像素;
}
#烧焦{
左边距:150像素
}
跨度{
字号:17px;
颜色:#0e0e;
}
筛选结果:
 
年
2018
2017
2016
2015
2014
2013
2012
2011
2010
 
全部的
IoBM
其他
 
搜索结果
出版物:
如果您只想在单击按钮后生效,那么我认为您不需要在下拉列表中添加onchange call
当元素的值发生更改时,将发生onchange事件
您应该有一个用于迭代和选择绑定到按钮onclick的输出的函数,它应该基于选择框的选定值工作
如果希望在选择框中的值更改时生效,则还需要定义onchange方法
编辑:
因此,我要做的是改变以使其发挥作用:
function submit() {
// Declare separate filter for year and institution
var year_input,institution_input , year_filter, institution_filter, ul, li, a, i;
year_input = document.getElementById('year');
// this will hold the selected year e.g. 2018
year_filter = year_input.value.toUpperCase();
institution_input = document.getElementById('institution');
// this will hold the selected institution
institution_filter = institution_input.value.toUpperCase();
ol = document.getElementById("myList");
li = ol.getElementsByTagName("li");
// Loop through all list items, and hide those who don't match the search query
for (i = 0; i < li.length; i++) {
// based on your html put the proper condition here
if (li[i].id == year_filter && li[i].name == institution_filter) {
// show if both condition apply
li[i].style.display = "" ;
} else {
//hide otherwise
li[i].style.display = "none";
}
}
}
函数提交(){
//为年份和机构声明单独的筛选器
var年度输入、机构输入、年度过滤器、机构过滤器、ul、li、a、i;
年份输入=document.getElementById(“年份”);
//这将适用于选定的年份,例如2018年
year_filter=year_input.value.toUpperCase();
机构输入=document.getElementById(“机构”);
//这将保存所选机构
institution_filter=institution_input.value.toUpperCase();
ol=document.getElementById(“myList”);
li=ol.getElementsByTagName(“li”);
//循环浏览所有列表项,并隐藏与搜索查询不匹配的项
对于(i=0;i
首先,感谢您的帮助,但我已经完成了,但列表没有更新。