【发布时间】:2014-06-29 17:31:42
【问题描述】:
谁能解释一下为什么这个功能不起作用?
<form id="spot-search">
<label for="text-basic">Postcode</label>
<input type="text" name="postcode" id="postcode" value="">
</br>
<label for="slider">within mile radius</label>
<input type="range" name="radius" id="radius" value="50" min="0" max="200">
</br>
<label>Select spot type</label>
<a href="#spot-type" data-role="button">All</a>
</br>
<input type="submit" value="Search">
</form>
<div id="map1">
map 1 goes here
</div>
<div id="map2">
map 2 goes here
</div>
<div id="map3">
map 3 goes here
</div>
<div id="map4">
map 4 goes here
</div>
<div id="map5">
map 5 goes here
</div>
提交的时候应该运行这个函数:
$('#spot-search').submit(function(e) {
var radius = getElementById('#radius');
if ($radius<=40) {
$('#spot-search').hide();
$('#map1').show();
} elseif($radius>40 && $radius<=80) {
$('#spot-search').hide();
$('#map2').show();
} elseif($radius>80 && $radius<=120) {
$('#spot-search').hide();
$('#map3').show();
} elseif($radius>120 && $radius<=160) {
$('#spot-search').hide();
$('#map4').show();
} elseif($radius>160 && $radius<=200) {
$('#spot-search').hide();
$('#map5').show();
}
e.preventDefault();
}
我正在使用 jQuery mobile,但也对此进行了单独测试。很抱歉成为一个帮助吸血鬼 - 但我很难过,真的可以帮上忙!
【问题讨论】:
-
试试
document.getElementById。你定义radius,但使用$radius。$radius未定义。 -
var radius = getElementById('#radius');如果您像这样使用它,请删除哈希标签 var radius = getElementById('radius');但是如果你使用 jQuery 为什么不 var radius = $('#radius'); ?
-
三个答案,全部正确,全部不同,全部不完整——因为该代码中(至少)存在三个不同的错误。
-
下次使用浏览器的控制台看看发生了什么。那里可能会弹出一些错误。
-
旁注:如果您使用的是
else if,则您的以下条件中没有理由使用($radius > xx &&...
标签: jquery jquery-mobile