动态对象的全局变量更改

时间:2014-01-05 16:43:36

标签: jquery ajax variables get global

我想更改一个全局变量来检查全局变量:

如您所见,我希望check_short_desc成为下拉菜单操作的触发器。
这不起作用。

$(document).ready(function () {
    var check_short_desc = 0;
    $("#shortdesc").keyup(function () {
        dd_shortdesc = $("#dd_shortdesc");
        $("#dd_shortdesc").css("width", $(this).width());
        thisval = $(this).val().replace("<BR>", "");
        if (thisval.length < 1) {
            $("#dd_shortdesc").fadeOut(180);
        } else {
            $("#dd_shortdesc").fadeIn(180);
        }
        if (check_short_desc == 0) {
            $.get("go_dd.php?action=getsmalldesc&text=" + thisval)
                .done(function (data) {
                    dd_shortdesc.html(data);
                });
        }
    });
    $("body").on("click", ".smalldescli", function () {
        $("#shortdesc").val($(this).text());
        $("#dd_shortdesc").fadeOut();
        check_short_desc = 1;
    });
});

非常感谢帮助。

1 个答案:

答案 0 :(得分:2)

check_short_desc不是代码中的全局变量。要使click处理程序可以访问它,您需要在document.ready函数之外声明它。

可以在此处找到有关JavaScript中变量范围的一些有用信息:http://learn.jquery.com/javascript-101/scope/