如何从选择菜单选项动态声明全局变量

How to dynamically declare global variables from selectmenu options?

本文关键字:动态 声明 全局变量 选项 菜单 选择      更新时间:2023-09-26

我是一个编程菜鸟。 我有一个选择菜单,其中有两个按钮,允许用户在菜单中添加和删除选项。 我想将选择菜单中的每个选项分配给对象类型的变量,但不幸的是,我不知道用户将预先向选择菜单添加多少选项。 有没有办法在用户每次向选择菜单添加新选项时动态声明一个新的全局变量?

请参阅下面的选择菜单的 html 代码。

<select id="List">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</select>

请参阅下面的jquery代码以向选择菜单添加一个选项。

$(".bt1").click(function () {
var opt = $("#ip1").val();
$('#List')
    .append($("<option></option>")
    .attr("value", opt)
    .text(opt));

如果您是初学者,我的第一个建议是不惜一切代价避免全局变量(无论编程语言如何)。在这篇文章中,您可以找到许多如何避免在 js 中使用它们的方法。

回到您的问题,您可以在每次用户添加按钮时用一个新对象扩展包含按钮的对象,并在删除按钮后将其删除。或者你可以使用数组来存储按钮(对象和数组在js中几乎相同)。有很多方法。但是尝试将变量包装在函数中,并避免不惜一切代价聚类全局空间。

HTML

<select id="List">
    <option value="select">Select</option>
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
    <option value="new">new</option>
    <option value="old">old</option>
</select>
<input type="button" id="delete"
 value="delete" />
<br />
<input type='text' id="readme" /><input id="add" type="button" value="add" /><br />

简讯

$('#add').on('click',function(){
    $("#List").append('<option>'+$('#readme').val()+'</option>');
});
$('#delete').on('click',function(){
    $("#List option:selected").remove();
});

下面的演示网址

http://jsfiddle.net/bxsnevzs/