javascript - 根据下拉选择显示和隐藏

标签 javascript

我有一个下拉字段,更改后应显示一个按钮,该按钮可以根据下拉选择下载文件。问题是它一直附加按钮,所以如果选择 1,它会显示 1 个按钮,在选择另一个选项时,它会附加另一个按钮,依此类推。因此,每次选择时,按钮都会不断累加,而不是只显示一个 1 按钮。我尝试添加 $('#buttondownload').remove(),但它无法正常工作。这是代码:

     function showFields(this) {
     if (this.value == "1" || this.value == "2")
	  {
		download.style.display = "block";
	  }
	  if (this.value == "")
	  {
		download.style.display = "none";
	  }
	  if (this.value == "1")
	  {
		var file = "'test.pdf";
	  }
	 if (this.value == "2")
	 {
		var file = "test2.pdf";
	 }
     html = '<button type="button" onClick="location.href='+ file + '">Download File</button>'
	$('#buttonDownload').append(html);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="ID" name="ID" onChange="showFields(this);">
		<option value="">Select</option>
		<option value="1">1</option>
        <option value="2">2</option>
	 </select>
     <div id="download"><div id="buttonDownload"></div></div>

最佳答案

您需要在添加新按钮之前清除容器:

$('#buttonDownload').empty().append(html);

关于javascript - 根据下拉选择显示和隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40345123/

相关文章:

javascript - 根据自定义排序顺序数组对 JSON 进行排序

javascript - 如何在 javascript 或 jquery 中渲染 json 对象的内部数组

javascript - 同一页面上的多个 iScroll 元素

javascript - 如何指定浏览器窗口的不透明度?

javascript - 如何使用 Express 和 Socket.IO 设置 Node.JS?

javascript - IE8 对象不支持该属性或方法

php - 如何使用 jQuery 每 1 秒从数据库获取实时数据

javascript - 如何获取给定表单详细信息的嵌套 json 对象?

javascript - img.width 和 img.height 随机返回 0

javascript - 动态改变react-leaflet工具提示的z-index