【发布时间】:2013-02-27 06:52:33
【问题描述】:
我遇到一种情况,我需要查看是否选择了某个选项。当我单击按钮时,如果未选择某个选项,则选择框应变为红色并提示我。这没用。我对 if 语句有困难。有什么解决办法吗?
Javascript
$(document).ready(function(){
var $films = [];
$("#button").click(function(){
var $titelBetyg = [];
var $titel = $('#name').val();
var $betyg = $('#options').val();
if($titel == ""){
$('#name').css('background-color', 'red');
alert("Fail");
}
else if($betyg == "0"){
$('#options').css('background-color', 'red');
alert("Fail");
}
else{
$titelBetyg.push($titel);
$titelBetyg.push($betyg);
$films.push($titelBetyg);
}
$('#rightbar').append($films);
});
});
HTML
<body>
<div id="page">
<div id="header">
<h1> Min filminsamling </h1>
</div>
<div id="leftbar">
<form>
<fieldset>
<legend>Lägg till en film:</legend>
Titel:
<br><input type="text" name="name" id="name"><br>
Betyg:
<br><select id="options">
<option>Välj betyg här...</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<br><input type="button" name="button" value="Spara film" id="button">
</fieldset>
<fieldset>
<legend>Sortera film:</legend>
<input type="button" name="stigande" value="Högst betyg" id="stigande">
<br><input type="button" name="fallande" value="Lägst betyg" id="fallande">
</fieldset>
</form>
</div>
<div id="rightbar">
Filmer
</div>
</div>
</body>
【问题讨论】:
-
根据浏览器的不同,您实际上会将“Välj betyg här...”作为您的默认值,而不是您期望的“”。 chrome 和其他人一样是罪魁祸首
-
如果没有选项被标记为选中,则始终选择一个选项(除非您使用的是选项组我认为)。来自HTML4 specification:“由于用户代理行为不同,作者应确保每个菜单都包含一个默认的预选选项。”
标签: javascript html css jquery-selectors