首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Javascript更改或加载

Javascript更改或加载
EN

Stack Overflow用户
提问于 2013-06-25 18:15:53
回答 4查看 1.8K关注 0票数 0

下面的Javascript代码用于显示内容,这取决于用户从下拉列表中选择了什么-当用户更改下拉列表中的值并在#disp中的display.php中显示代码时,它会触发。

代码语言:javascript
代码运行次数:0
运行
复制
<script type="text/javascript">
    $(document).ready(function() {
        $('#choose').change(function() {
            if($(this).val() != '') {
                $.ajax({
                    type: 'get',
                    url: 'display.php',
                    data: { 'value' : $(this).val() } ,
                    success: function(data) {
                        $("#disp").html(data);
                    }
                });
            }
        });
    });
</script>

问题是,有时候,当表单加载一个已经激活的选项时,我会预先填充下拉菜单,因为#choose的值没有改变,所以不会调用javascript。我可以使用load(function() ),但它不会在更改时触发。

当用户更改内容时,以及在同一调用中加载值不为0/null/空的情况下,如何触发相同的代码?

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-06-25 18:22:19

以编程方式触发更改函数:

代码语言:javascript
代码运行次数:0
运行
复制
$('#choose').change(function() {
  // your code
}).change(); // will trigger when DOM is ready
票数 10
EN

Stack Overflow用户

发布于 2013-06-25 18:22:34

代码语言:javascript
代码运行次数:0
运行
复制
var chooseVal = $('#choose').val();
if(chooseVal != null || chooseVal != 0) $('#choose').trigger('change');
票数 2
EN

Stack Overflow用户

发布于 2013-06-25 18:24:59

在不同的函数中分离调用,然后在加载时执行它。就像这样..。

代码语言:javascript
代码运行次数:0
运行
复制
function onchange() {
    if($(this).val() != '') {
        $.ajax({
            type: 'get',
            url: 'display.php',
            data: { 'value' : $(this).val() } ,
            success: function(data) {
                $("#disp").html(data);
            }
        });
    }
}

$(document).ready(function() {
    $('#choose').change(function() {
        onchange.call(this);
    });
    onchange.call(document.getElementById("choose"));
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17294668

复制
相关文章

相似问题

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