我正在尝试验证THIS JSFIDDLE
上的表单选择框。您能否帮助我使用jquery检查Optins是否未被选中,或者如果选择了第一个选项<option value="1">Select From The List</option>
,则显示错误框,如果在#result
中显示所选值是正确的。
<form>
<select id="mySelect">
<option value="1">Select From The List</option>
<option value="2">First</option>
<option value="3">Second</option>
<option value="4">Third</option>
<option value="5">Fourth</option>
</select>
<div id="error">Not selected!</div>
<div id="valid">Validated!</div>
<div id="result"></div>
<br />
<button type="submit" class="btn btn-default">Validate</button>
</form>
#error { color:red; display:none; }
#valid{ color:green; display:none; }
由于
答案 0 :(得分:1)
试试此代码:Fiddle
$(document).ready(function () {
$('form').submit( function(e) {
var check=$('#mySelect').val();
if ( check == '1' ) {
$('#error').show();
$('#valid').hide();
}else{
$('#error').hide();
$('#valid').show();
}
e.preventDefault();
});
});
答案 1 :(得分:0)
检查是否未选择Options
或是否选择了第一个选项而不涉及值:
$(document).ready(function () {
$('form').on('submit', function(event) {
event.preventDefault();
var select = document.getElementById('mySelect');
if(select.selectedIndex < 1){
$('#error').show();
$('#valid').hide();
} else {
$('#error').hide();
$('#valid').show();
}
});
});
答案 2 :(得分:0)
<强> JS 强>
$("#validate").on('click', function(e){
var value=$("#mySelect").val(); //get selected value
$(".validationStatus").hide(); //Hide all messages first
if(value=="1")
{
e.preventDefault();
$("#error").show();
}
else
{
e.preventDefault(); // You can remove this when submitting page
$("#valid").show();
}
});
请检查HTML中的更改。添加了验证消息的公共类。添加了按钮
的ID答案 3 :(得分:0)
你应该用这个:
<form id="target" action="javascript:">
<select id="mySelect">
<option value="1">Select From The List</option>
<option value="2">First</option>
<option value="3">Second</option>
<option value="4">Third</option>
<option value="5">Fourth</option>
</select>
<div id="error">Not selected!</div>
<div id="valid">Validated!</div>
<p id="result"></p>
<br />
<button type="submit" class="btn btn-default">Validate</button>
</form>
//////////////////////////////////////////// 脚本:
<script src="address of jquey.js"></script>
<script>
$(document).ready(function () {
$("#target").submit(function( event ) {
displayVals();
});
});
function displayVals() {
var singleValues = $( "#mySelect" ).val();
if(singleValues == 1)
$( "#error" ).css("display","block");
else
$( "#valid" ).css("display","block");
$( "#result" ).text( singleValues );
}
</script>
/////////////////////////////// 的CSS:
#error { color:red; display:none; }
#valid{ color:green; display:none; }
答案 4 :(得分:0)
这是我的建议
请注意我将第0个选项设为空,因此值与选择
中的文本匹配$(function () {
var validate = function() {
var val = $('#mySelect').val(),error=val=="";
$('#error').toggle(error);
$('#valid').toggle(!error);
return !error;
}
$('form').on('submit', function(e) {
e.preventDefault(); // only if you NEVER will want to submit
validate();
// or
// if (validate()) ...
});
$('#mySelect').on("change",function() {
$("#result").html($(this).val());
validate();
});
});