我正在html文件中使用此下拉列表:
<select id="read-type" onchange="checkrt()">
<option value="1">2word</option>
<option value="2">3word</option>
<option value="3">line</option>
</select>
</div>
并阅读:
var dro = document.getElementById("read-type");
var readtype = dro.options[dro.selectedIndex].value;
但是此代码无法读取“ onchange”,或者我现在不知道如何?,所以我将代码更改为:
$(function checkrt(){
$('#read-type').on('change', function(){
window.readtype = $(this).val();
alert(readtype);
});
})
最后一个代码与“ alert”一起工作良好,但是我不能通过以下方式在下一个函数中读取变量“ readtype”:
Function delta(text){
if (readtype == 1)
这给我消息(未定义readtype)吗?,请问什么问题。
注意:如果我在下拉列表中更改所选项目后单击浏览器中的“刷新”按钮,则代码可以读取类型。
答案 0 :(得分:1)
您不需要命名函数即可包含onchange
触发器。要访问该值,您必须将readtype
传递到下一个函数中。
将代码更改为此:
$(function(){
$('#read-type').on('change', function(){
var readtype = $(this).val();
nextFunction(readtype);
});
function nextFunction(readtype){
if (readtype == 1) {
alert(readtype);
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="read-type">
<option value="1">2word</option>
<option value="2">3word</option>
<option value="3">line</option>
</select>