从javascript中的下拉函数读取变量

时间:2019-05-24 09:46:10

标签: alert dropdown

我正在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)吗?,请问什么问题。

注意:如果我在下拉列表中更改所选项目后单击浏览器中的“刷新”按钮,则代码可以读取类型。

  • app.js中的代码不在html中。

1 个答案:

答案 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>