JQuery下拉值

时间:2013-04-08 07:20:30

标签: jquery drop-down-menu

我有一个下拉列表,其中包含一个项目列表,第一个项目的值为0,其他项目的值大于0。

以下代码附加到更改事件:

<script type="text/javascript">
    $("#SearchRegionId").change(function (e) {
        var select = $("#SearchKommuneId");
        select.empty();
        if ($("#SearchRegionId").val() != 0);
        {
            $.ajax({
                url: '/Kommune/getKommunerIRegion/',
                type: 'POST',
                data: { RegionId: $("#SearchRegionId").val() },
                dataType: 'json',
                success: function (data) {
                    for (i in data) {
                        select.append($('<option value="' + data[i].KommuneId + '">' + data[i].KommuneNavn + '</option>'));
                    }
                }
            });
        }
    });
</script>

我的问题是,当我测试是否$(“#SearchRegionId”)。val()!= 0时,即使所选值为0,它也总是出现。我已在警告框中显示该值显示值0,但有些东西告诉我它不是真的。

2 个答案:

答案 0 :(得分:1)

;

末尾有if
if ($("#SearchRegionId").val() != 0)

;末尾的;表示if条件在那里结束,之后的代码块将被执行,而不管条件的值如何。

<script type="text/javascript">
    $("#SearchRegionId").change(function (e) {
        var select = $("#SearchKommuneId");
        select.empty();
        if ($("#SearchRegionId").val() != 0)
        {
            $.ajax({
                url: '/Kommune/getKommunerIRegion/',
                type: 'POST',
                data: { RegionId: $("#SearchRegionId").val() },
                dataType: 'json',
                success: function (data) {
                    for (i in data) {
                        select.append($('<option value="' + data[i].KommuneId + '">' + data[i].KommuneNavn + '</option>'));
                    }
                }
            });
        }
    });
</script>

演示:Problem
演示:Solution

答案 1 :(得分:0)

为什么要写

select.empty();
分配值后

,然后检查它.....

它成为了

var select;
变得空虚,不是吗? 这就是我的想法,与roXon

相同