如何使用javascript获取下拉菜单列表中项目的值
How do I get the value of an item in a drop down menu list using javascript?
基本上,我正在制作一个简单的税收计算器,我需要在下拉菜单中获得一个元素的值(特定州),然后在此基础上,将该州的所得税税率添加到一个变量中,以用于未来的计算。
这是我的HTML代码:
<fieldset id="taxinfo">
<label for="state">State of residence</label>
<select id="state" name="state">
</select>
</fieldset>
我用以下javascript代码填充了它:
var stateList = ["AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV",
"NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY"];
// array to add months to drop-down list menu
function addStates() {
var select = document.getElementById("state");
for (var i = 0; i < stateList.length; i++) {
var list = stateList[i];
var el = document.createElement("option");
el.innerHTML = list;
el.value = list;
select.appendChild(el);
}
}
例如,如果有人从下拉菜单列表中选择"TX",我想将一个名为stateTax的变量设置为0;
编辑:无法让Gregg的答案为我工作。试图在if/else决策结构中使用它——似乎不起作用:
// function to acquire tax rate based on state selected from menu list
function getStateTax() {
var stateTax;
var sel = document.getElementById("state");
var st = sel.options[sel.selectedIndex].text;
// if/else decision structure to set appropriate tax based on state
if (st == "TX") {
stateTax = 0;
}
}
简单的javascript方式:
var sel = document.getElementById("state");
var state = sel.options[sel.selectedIndex].value;
jquery方式
var state = $('#state').val();
州税编辑功能:
我会将您的州列表转换为一个javascript对象,以保存每个州的税率,如下所示:
var taxRate = { 'AL': .07, 'AK': .05, 'AZ': .07 }
然后,您可以从如下的javascript对象轻松创建状态列表:
var stateList = Object.keys(taxRate);
你可以像现在这样使用addStates函数:
function addStates() {
var select = document.getElementById("state");
for (var i = 0; i < stateList.length; i++) {
var list = stateList[i];
var el = document.createElement("option");
el.innerHTML = list;
el.value = list;
select.appendChild(el);
}
}
然后得到这样的税率:
function getStateTax(){
var sel = document.getElementById("state");
var state = sel.options[sel.selectedIndex].value;
return taxRate[state];
}
看看这把小提琴:http://jsfiddle.net/3fqv2jwa/1/
以下内容仅在jQuery版本中相同:http://jsfiddle.net/3fqv2jwa/2/
相关文章:
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 在javascript中搜索项目列表的性能
- 如何在角度js的自动完成下拉列表中对项目列表(按字母顺序)进行排序
- 从项目列表Jquery中仅选择(显示:块)元素
- 使用 JQuery 复选框筛选项目列表
- 如何在Javascript中设置随机生成的项目列表的样式
- 如何无限循环项目列表
- 将项目列表馈送到3列布局中
- Polymer 1.0:管理简单项目列表的最佳实践
- 从select创建项目列表/数组
- 渲染Backbone.js中项目列表中的项目
- 如何将特定项目信息链接到 emberjs 中项目列表中的模板
- 如何遍历项目列表并将其数据值推送到数组中
- NodeJS:如何使用异步.js来处理数据库中的项目列表
- 挖空 JS 构建项目列表
- 通过指定的文本检查项目列表 /w Jquery
- 如何制作一个项目列表,可以使用 Angular JS 单独切换
- 将单词“and”放在项目列表的文本中
- 优化显示简单项目列表的模型/视图