JQuery 检查多个选择值
JQuery check multiple Selects value
我在一页上有许多HTML选择,如下所示:
<div>
<h3>Ethnicity</h3>
<select>
<option value="select">Select</option>
<option value="african">African</option>
<option value="africanamerican">African American</option>
<option value="asian">Asian</option>
</select>
</div>
我想使用 Jquery 检查每个选择以确保初始值"选择"已更改 - 例如:选择了另一个选项。如果它没有改变,我想改变选择的颜色。
我已经尝试了以下Jquery,但它的功能不完全:
if($('select').val() == 'select') {
alert('got one...');
$(this).css({'color' : 'red'});
}
注意:该页面有大约 25 个选择,我试图让一块 jquery 来涵盖所有内容。
您可以使用更改事件处理程序并检查所选值:
检查下面的代码段
$('select').on('change', function() {
if ($(this).val() == 'select') {
alert('got one...');
$(this).css({
'color': 'red'
});
} else {
$(this).css({
'color': 'initial'
});
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<h3>Ethnicity</h3>
<select>
<option value="select">Select</option>
<option value="african">African</option>
<option value="africanamerican">African American</option>
<option value="asian">Asian</option>
</select>
</div>
看看这个: .val()
$("select").each(function(){
if($(this).val() == "YourDefaulValue"){
$(this).css({'color' : 'red'});
}
});
你必须自己迭代元素。幸运的是,它非常简单,并且对代码进行了非常小的更改:
$('select').each(function() {
var $this = $(this);
if($this.val() == 'select') {
// probably shouldn't alert here...
// alert('got one...');
$this.css({'color' : 'red'});
}
}
如果您需要检查所有选择,则必须测试一个或多个是否为"未选择"。为此,您可以执行以下操作:
$(function () {
$('#resetBtn').on('click', function(e) {
$('select').each(function(index, element) {
$(this).css({'color' : 'black'});
});
});
$('#checkBtn').on('click', function(e) {
$('select').each(function(index, element) {
if (element.selectedIndex == 0) {
alert('got one...');
$(this).css({'color' : 'red'});
}
});
});
});
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<button id="checkBtn">Check select</button>
<button id="resetBtn">Reset select</button>
<div>
<h3>Ethnicity</h3>
<select>
<option value="select">Select</option>
<option value="african">African</option>
<option value="africanamerican">African American</option>
<option value="asian">Asian</option>
</select>
</div>
相关文章:
- 如何利用多链接延迟检查并显示ping结果,然后使用JavaScript选择最快的URL
- 如何检查日期选择器和时间选择器元素是否使用JQuery/Javascript设置
- 检查选择器类型jquery
- 检查选择器在jQuery中是否包含文本(即不是媒体)
- jQuery选中后检查其他选择元素
- 用于检查未使用的CSS/JavaScript选择器的NetBeans插件
- 检查在上一页上选择了哪个按钮
- 使用jquery在产品选择器中添加下拉列表检查
- 选择随机图像,检查是否在特定范围内并相应显示
- 如何检查是否在JavaScript中选择了下拉菜单
- 检查是否存在基于jQuery 1.7中文本的选择选项
- 如何检查输入type=“file”是否选择了文件
- 具有延迟的多个复选框选择以检查其他复选框更改
- jQuery:检索日期选择器日期,检查是否在日期范围内,显示/隐藏字段
- 如果未选择警报,则从动态创建的多个淹没中进行检查
- AngularJS选择检查数据并插入
- 如何使用 html 选项标签并检查选择了哪个选项
- 如何检查我的<选择>元素是否包含 MULTIPLE 属性
- HTML / JavaScript文件选择检查
- Ajax Tab - javascript 来检查选择了哪个选项卡