我只是想說明這一點:
if ($('.combo option:selected[value==0]'))
要檢查是否從下拉列表中選擇的項目有0值,可以使用以下命令:
if ($('.combo').val() == '0') // simpler and more readable :-)
那麼,這將是,如果簡單您已將錯誤消息放在文檔的某處。所有你需要做的就是顯示/隱藏它。例如:
<select id="dropdown-1" class="combo">
<option value="0">-</option>
<option value="1">Lorem</option>
<option value="2">Ipsum</option>
</select>
<span id="error-dropdown-1" class="error" style="display: none">Please select a value!</span> <!-- hidden by default. can also use CSS instead of style="display: none" -->
<input type="button" id="demo-button" value="Demo" />
和JavaScript(+ jquery的):
$('#demo-button').click(function() {
if ($('.combo').val() == '0') {
$('#error-dropdown-1').show();
} else {
$('#error-dropdown-1').hide();
}
});
下面是另一個例子。如果您避免使用ID(可能您已動態生成了dorpdowns),則此功能很有用:
<script type="text/javascript">
$(function() {
$('#demo-button').click(function() {
$('.combo').each(function() {
var div = $(this).parents('div').get(0); // get the wrapper
if ($(this).val() == '0') {
$(div).find('.error').show(); // show <span class=".error"> inside the wrapper
} else {
$(div).find('.error').hide(); // hide <span class=".error"> inside the wrapper
}
});
});
});
</script>
<div> <!-- wrapper for 1st combo + 1st error message -->
<select class="combo">
<option value="0">-</option>
<option value="1">Lorem</option>
<option value="2">Ipsum</option>
</select>
<span class="error" style="display: none">Please select a value!</span>
</div>
<div> <!-- wrapper for 2nd combo + 2nd error message -->
<select class="combo">
<option value="0">-</option>
<option value="1">Dolor</option>
<option value="2">Sit</option>
<option value="3">Amet</option>
</select>
<span class="error" style="display: none">Please select a value!</span>
</div>
<div> <!-- wrapper for 3rd combo + 3rd error message -->
<select class="combo">
<option value="0">-</option>
<option value="1">Consectetuer</option>
<option value="2">Adipiscing</option>
<option value="3">Elit</option>
</select>
<span class="error" style="display: none">Please select a value!</span>
</div>
<input type="button" id="demo-button" value="Demo" />
感謝您的幫助。但是這些選擇框是動態生成的。所以它可能是2或更多。我們不能再使用身份證了。我想,追加和刪除功能將是擺脫它的唯一機會。 – steeve 2012-04-19 10:02:30
@Riyas我剛剛編輯了代碼。它可以用於動態生成的下拉菜單。它只使用類和樹/ DOM遍歷。 – 2012-04-19 10:34:40