gpt4 book ai didi

javascript - 改进动态下拉解决方案

转载 作者:行者123 更新时间:2023-12-02 18:47:04 24 4
gpt4 key购买 nike

我使用 jQuery 和 JavaScript 创建了一个动态下拉列表。我希望有人可以看一下并让我知道这是否是处理此类任务的适当方法。我特别想知道这段代码是否可扩展,并且性能良好吗?接下来,是否建议在下面的 JavaScript 中使用 switch 语句而不是多个 if 语句?如果是这样,为什么?我想存储它以便在我实现这样的解决方案时可以重复使用,但由于我是 JavaScript 新手,所以我还不完全信任我的工作。

JSFIDDLE:http://jsfiddle.net/6vrpF/

HTML:

<select id='parent'>
<option value='test'>test</option>
<option value='sure'>sure</option>
<option value='cool'>cool</option>
<option value='best'>best</option>
</select>

<select id='child'>
</select>

JavaScript:

function newDropdown()
{
var html = ""
for(i=0; i<arguments.length; i++)
{
html += "<option value='"+arguments[i]+"'>"+arguments[i]+"</option>"
}
$("#child").append(html)
}

$("#parent").on("change",function(){
$('#child').text("")
var selection = $("#parent").val()
if(selection == 'test') {newDropdown('a','b','c')}
if(selection == 'sure') {newDropdown('d','e','f')}
if(selection == 'cool') {newDropdown('g','h','i')}
if(selection == 'best') {newDropdown('j','k','l')}
});

最佳答案

更新了 fiddle http://jsfiddle.net/6vrpF/4/

var parentChild = {
"test" :['a','b','c'],
"sure" :['d','e','f'],
"cool" :['g','h','i'],
"best" :['j','k','l']
};

function newDropdown()
{
var html = ""
for(i=0; i<arguments.length; i++)
{
html += "<option value='"+arguments[i]+"'>"+arguments[i]+"</option>"
}
$("#child").append(html)
}

$("#parent").on("change",function(){
$('#child').text("")
var selection = $("#parent").val();
newDropdown( parentChild[selection].join(",") );
});

您需要获取上面提到/定义的 JSON 格式的数据

编辑:这是更新的 fiddle ,它将一一给出选项 http://jsfiddle.net/6vrpF/6/

var parentChild = {
"test" :['a','b','c'],
"sure" :['d','e','f'],
"cool" :['g','h','i'],
"best" :['j','k','l']
};

function newDropdown()
{
var array = arguments[0];
var html = ""
for(i=0; i<array.length; i++)
{
html += "<option value='"+array[i]+"'>"+array[i]+"</option>"
}
$("#child").append(html)
}

$("#parent").on("change",function(){
$('#child').text("")
var selection = $("#parent").val();
newDropdown( parentChild[selection] );
});

关于javascript - 改进动态下拉解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16256308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com