我正在尝试使用javascript / jquery来创建一个贷款计算器
我有这个功能
function setOptions(chosen, selbox) {
selbox.options.length = 0;
if (chosen == " ") {
selbox.options[selbox.options.length] = new Option(' ',' ');
setTimeout(setOptions(' ',document.myform.optthree),5);
}
if (chosen == "1") {
selbox.options[selbox.options.length] = new Option(' ','11');
selbox.options[selbox.options.length] = new Option('Yes','12');
selbox.options[selbox.options.length] = new Option('No','13');
setTimeout(setOptions('11',document.myform.optthree),5);
setTimeout(setOptions('11',document.myform.optfour),5);
setTimeout(setOptions('11',document.myform.optfive),5);
}
.....
}
我正在使用这个javascript
$( document ).ready(function() {
$( "select[name='optone']" ).change(function() {
setOptions(document.myform.optone.options[document.myform.optone.selectedIndex].value,document.myform.opttwo);
});
});
和这个html
<form name="myform">
<select name="optone" size="1">
<option value=" " selected="selected"></option>
<option value="1">Salaried</option>
<option value="2">Self Employed</option>
<option value="3">Professional</option>
<option value="4">House Wife</option>
</select><br />
<select name="opttwo" size="1">
<option value=" " selected="selected"></option>
</select>
</form>
我收到此错误:
如果有任何帮助,我应该定义任何对象吗?
谢谢,
答案 0 :(得分:1)
document.myform
未定义
使用jQuery,您的功能将是:
$( "select[name='optone']" ).change(function() {
setOptions($(this).val(), $("select[name='opttwo']")[0]);
});
更新
this
- 已包含事件定位于(select[name='optone']
)
$(this)
- 将此元素设为jQuery对象
.val()
- 获取select
元素的选定值
$("select[name='opttwo']")
- 获取名为“opttwo”的select
元素,它是jQuery对象
$("select[name='opttwo']")[0]
- 从jQuery对象获取DOM元素。但请注意,如果您有多个名称为“opttwo”的表单,则只返回第一个表单。