首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改表单元素

更改表单元素
EN

Stack Overflow用户
提问于 2013-11-20 07:54:56
回答 4查看 99关注 0票数 0

我希望有一个表单下拉列表,列出了一个特定类型的项目的所有品牌。从该列表中选择一个品牌后,将出现一个新的下拉列表,其中包含所选品牌的所有不同型号的列表。

如何根据使用JavaScript选择的品牌显示特定的下拉列表。我的JSFiddle链接中的代码非常裸露,我只是为了给人一种视觉上的感觉。

JSFiddle Link

代码语言:javascript
复制
<select>
    <option>Select Make
    <option>Toyota 
    <option>Honda
    <option>Ford
</select>
EN

回答 4

Stack Overflow用户

发布于 2013-11-20 08:17:00

代码语言:javascript
复制
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>

<script>

$( document ).ready(function() {
$('#SelectBox').change(function() {
    if (this.selectedIndex == 1)
    {
        $( "#Example").empty();
        $( "#Example").append('<option>Corolla<option><option>Camry<option><option>Prius<option>');
    }
    else if (this.selectedIndex == 2)
    {
        $( "#Example").empty();
        $( "#Example").append('<option>Accord<option><option>Civic<option><option>Odyssey<option>');
    }
    else if (this.selectedIndex == 3)
    {
        $( "#Example").empty();
        $( "#Example").append('<option>Focus<option><option>Explorer<option><option>Taurus<option>');
    }

});
});
</script>

</head>
<body>
<form id="myForm">

Make:<br />
<select id="SelectBox">
    <option>Select Make</option>
    <option id='Toyota' onclick='showMe()' >Toyota</option>
    <option id='Honda'>Honda</option>
    <option id='Ford'>Ford</option>
</select><br />

Model:<br />
<select id="Example">
    <option>example
</select>
</form>

</body>
</html>
票数 0
EN

Stack Overflow用户

发布于 2013-11-20 08:25:36

我的方法:http://jsfiddle.net/PjFMh/2/

要更新内容,您需要一个侦听器来侦听将要对make选择器进行的更改。首先,您需要抓住选择器本身(var $make = document.getElementById('make')),您可以将侦听器设置为该选择器。这是由$make.onchange = function() { ... }完成的。在此函数中,获取当前所选索引的索引,以便确定要显示的模型数组。

首先,清除模型选择器的内容,这样就可以用新内容填充它。对于每个模型,创建一个新的<option>并用当前模型填充它。然后,将其附加到选择器本身。

存储数据的位置有不同的方法(对于make和model),但我选择在JavaScript中将其存储为数组。您可以使用HTML元素来隐藏/显示代码,但我认为如果您稍后要更改某些内容,这将更加模块化。

票数 0
EN

Stack Overflow用户

发布于 2013-11-20 08:30:10

首先你需要修复你的超文本标记语言,<option>必须有一个结束标签。

许多方法之一是http://jsfiddle.net/Tt5gf/1/,我写了一些评论给你,试着尝试一下-添加或删除一些选项,改变现有的一个,有一些实践

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20084729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档