错误:'$ viewMap [...]'为null或不是对象

时间:2009-12-15 09:45:15

标签: javascript jquery

我的jQuery / Javascript知识有限,我担心。我有一个“你怎么知道我们”的表格下拉菜单。但是,我在更改时收到以下Javascript错误:

错误:'$ viewMap [...]'为null或不是对象

我的下拉列表如下:

<select onchange="setSourceID(this.value)" name="sourceID" id="sourceID" class="required">
    <option value="" selected="selected">Please choose&#8230;</option>
    <option value="National Paper">National Paper</option>
    <option value="Magazine">Magazine</option>
    <option value="Regional Paper">Regional Paper</option>
    <option value="9682">Internet Search</option>
    <option value="9684">Recommendation</option>
    <option value="9683">Other</option>
</select>

<!-- some additional dropdowns below that appear based on what's selected above -->
<select onchange="setSourceID(this.value)" name="referrerName[]" id="referrer1" class="smartField">
    <option value="" selected="selected">Please choose&#8230;</option>
<option value="The Times">The Times</option>
etc...
</select>

and so on...

我的Javascript看起来像这样:

$(document).ready(function() {
    $('.smartField').hide();
    $.viewMap = {
        '' : $([]),
        'National Paper' : $('#referrer1'),
        'Magazine' : $('#referrer2'),
        'Regional Paper' : $('#referrer3')
        //'Internet Search' : $('#referrer4'), 
        //'Recommendation' : $('#referrer5'), 
        //'Other' : $('#referrer6')
    };

    $("#sourceID").bind(($.browser.msie ? "click" : "change"), function () {
        $.each($.viewMap, function() { this.hide(); }); // hide all
        $.viewMap[$(this).val()].show(); // show current
    });
});

有人知道我哪里出错吗?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我怀疑问题出在这一行:

$.viewMap[$(this).val()].show();

检查$(this).val()返回的内容,并查看$.viewMap

中是否存在相应的密钥