如何在html标记中使用javascript变量
我在这里有一个表单,有两个字段,一个是搜索,另一个是选项,当我从搜索字段中选择任何值时,选项字段的值将发生变化。第二个字段的值不同,datalist定义为datalist1,datalist2,datalist3…..我希望第二个字段的List属性中给出的值与java脚本中的变量值相同。我尝试了以下代码,但该代码没有给出任何输出如何在html标记中使用javascript变量,javascript,html,Javascript,Html,我在这里有一个表单,有两个字段,一个是搜索,另一个是选项,当我从搜索字段中选择任何值时,选项字段的值将发生变化。第二个字段的值不同,datalist定义为datalist1,datalist2,datalist3…..我希望第二个字段的List属性中给出的值与java脚本中的变量值相同。我尝试了以下代码,但该代码没有给出任何输出 函数随机(){ var a=document.getElementById('search').value; 如果(a==“样本ID”){ var datalist
函数随机(){
var a=document.getElementById('search').value;
如果(a==“样本ID”){
var datalist=datalist1;
}如果(a==“贷款”){
var datalist=datalist1;
}else if(a==“用户”){
var datalist=datalist3;
}如果(a==“从属关系”){
var datalist=datalist4;
}否则如果(a==“状态”){
var datalist=datalist5;
}否则如果(a==“btr”){
var datalist=datalist6;
}else if(a==“类型”){
var datalist=datalist7;
}
document.getElementById('option').innerHTML=datalist;
}
搜寻-
选择类型
样本ID
设施
用户名
附属
地位
BTR
样本类型
日期
选项
/>
使用value而不是innerHTML
document.getElementById('option').value= datalist;
这是你需要做的
在数据列表的ID周围使用引号
使用输入的列表属性的setAttribute
函数随机(){
var a=document.getElementById('search')。值,
datalist=“datalist1”;
如果(a==“样本ID”){
datalist=“datalist1”;
}如果(a==“贷款”){
datalist=“datalist1”;
}else if(a==“用户”){
datalist=“datalist2”;
}如果(a==“从属关系”){
datalist=“datalist3”;
}否则如果(a==“状态”){
datalist=“datalist1”;
}否则如果(a==“btr”){
datalist=“datalist2”;
}else if(a==“类型”){
datalist=“datalist3”;
}
const inp=document.getElementById('option');
inp.value=“”;
inp.setAttribute(“列表”,数据列表)
}
搜寻-
选择类型
样本ID
设施
用户名
附属
地位
BTR
样本类型
日期
选项
我认为您要做的是根据select元素中的选定值为“option”输入分配一个数据列表,类似于以下OP的简化版本:
//Select是对Select元素的引用,并且
//是从侦听器传递的
函数随机(选择){
//将选择值映射到要显示的列表的id
让map={'sampleid':'datalist1',
“设施”:“数据列表2”,
“用户”:“数据列表3”
};
//获取选项输入
let option=document.getElementById('option');
//清除值
option.value='';
//分配适当的列表
option.setAttribute('list',map[select.value]);
}
搜寻-
选择类型
样本ID
设施
使用者
我做了一个片段。请使用datalist mock和大写字母F(这)更新代码,您的意思是var datalist=document.getElementById(“datalist1”)
@mplungjani我希望varr datalist的值在表单选项列表值的第二个字段中,在这个问题中不需要PHP。这是纯JavaScript相关的。这也没有意义,因为没有id为datalist的datalist,它在选项字段[OBJECT HTMLDATALISTELEMENT]中给出以下输出。请确保datalist是字符串。看起来您正在填充数据列表的函数中形成对象。这与我的答案相同,只是map@mplungjan-英雄所见略同。:-)你在我写的时候发的。您还需要在设置列表属性之前清除输入值,否则,如果用户更改所选选项,则数据列表似乎分配不正确。请参阅更新-我在更改列表时清除字段