我的jQuery / Javascript知识有限,我担心。我有一个“你怎么知道我们”的表格下拉菜单。但是,我在更改时收到以下Javascript错误:
错误:'$ viewMap [...]'为null或不是对象
我的下拉列表如下:
<select onchange="setSourceID(this.value)" name="sourceID" id="sourceID" class="required">
<option value="" selected="selected">Please choose…</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…</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
});
});
有人知道我哪里出错吗?非常感谢任何帮助。
答案 0 :(得分:0)
我怀疑问题出在这一行:
$.viewMap[$(this).val()].show();
检查$(this).val()
返回的内容,并查看$.viewMap