Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript向选项添加值_Javascript_Jquery_Dom - Fatal编程技术网

如何使用javascript向选项添加值

如何使用javascript向选项添加值,javascript,jquery,dom,Javascript,Jquery,Dom,这是我的js代码 function addTag(tag) { var tags = document.getElementById("tags"); var span = document.createElement("span"); span.textContent = tag.value; tag.value = ""; span.setAttribute("onclick", "

这是我的js代码

function addTag(tag) {
  var tags = document.getElementById("tags");
  var span = document.createElement("span");
  span.textContent = tag.value;
  tag.value = "";
  span.setAttribute("onclick", "this.remove()");

  tags.append(span);
}

function addOption() {
  var x = document.getElementById("tag");
  var option = document.createElement("option");
  option.textContent = tags.textContent;
  x.add(option);
}

一旦用户单击它将关闭的标记,就可以显示选项的值,但是,我只能在选项内创建一个空格

将标记范围更改为包含所有选项范围

然后让每个span-inside-tags负责将自己添加回select,并从span-tags中删除自己

请按照上述逻辑查看代码中的更改

函数addtag{ var tags=document.getElementByIdtags; var span=document.createElementspan; span.textContent=tag.value; tag.value=;//选择或按enter键时清除字段 span.style.backgroundColor=E5E7; span.style.margin=5px; span.style.padding=5px; //span将自己添加回select并从标记中删除自己 span.setAttributeOn单击,添加选项此选项; 如果span.textContent==快餐{ $'option[value=fastfood]'。删除; }否则,如果span.textContent==素食主义者{ $'option[value=Vegan]'。删除; }否则{ $'option[value=Food]'。移除; } tags.appendspan; } 功能添加选项span{ var x=document.getElementByIdtag; var option=document.createElementoption; option.textContent=span.textContent; x、 添加选项; span.移除; } 食物类型 -全部- 快餐 素食主义者 食物
因为您使用的是jQuery,所以我们可以使用事件系统。这使得代码更清晰

代码的主要问题是,您试图获取标记的textContent,而*不作为变量存在。相反,它将引用id=tags元素

textContent只返回该元素的文本值,而不返回其子元素。在这种情况下,它是空的

//这里我们使用jQuery的事件系统来定义发生了什么 //对于下面的事件 $document .onclick、.tag、函数{ 除去这个; } .onchange、标记、函数{ 加上这个; }; 函数removeTagtag{ addOptiontag.textContent; 标记。移除; } 函数addtag{ var tags=document.getElementByIdtags, span=document.createElementspan; span.textContent=tag.value; tag.value=;//选择或按enter键时清除字段 //能否将以下样式添加为一个类? span.style.backgroundColor=E5E7; span.style.margin=5px; span.style.padding=5px; span.className=tag; //无需在此处设置'onclick',因为我们正在处理此代码的顶部 //我们可以使用文本来查找元素 //而不是重复的if-else语句 $'选项[value='+span.textContent+']'。删除; tags.appendspan; } 函数addOptiontext{ var x=document.getElementByIdtag, option=document.createElementoption; option.textContent=文本; //我们还需要在这里设置值 //因为我们在addTag里找它` option.value=文本 x、 添加选项; } 食物类型 -全部- 快餐 素食主义者 食物
你犯了一些逻辑错误, 您可以按如下方式更新小提琴:

函数addtag{ var tags=document.getElementByIdtags; var span=document.createElementspan; span.textContent=tag.value; span.setAttributeOn单击,移除标记此;; tag.options[tag.selectedIndex]。删除; tags.appendspan; } 函数移除{ 榆树; var x=document.getElementByIdtag; var option=document.createElementoption; option.textContent=elm.textContent; x、 添加选项; } 标签跨度{ 背景色:E5E7; 保证金:5px; 填充物:5px; 光标:指针; } 食物类型 -全部- 快餐 素食主义者 食物