使用JQuery(用于创建比较)避免重复的下拉项
To avoid duplicate drop-down items with JQuery (For Create Compare)
对不起(我英语写不好!(我想当更改组合框选定项目时,此项目(选定项目(隐藏在其他组合框中,当再次更改时,隐藏项目再次显示在其他组合栏中。
<select class="soma1">
<option>item1</option>
<option>item2</option>
<option>item3</option>
<option>item4</option>
</select>
<select class="soma2">
<option>item1</option>
<option>item2</option>
<option>item3</option>
<option>item4</option>
</select>
<script type="text/javascript">
$('.soma1').change(function () {
var cm = $('.soma1').text();
$('.soma2 option:contains(' + cm + ')').each(function () {
if ($(this).text() == cm) {
$(this).remove();
}
});
});
</script>
首先,您需要获取第一个选择框上选择的值,然后通过使用$.each()
获取第二个选择框的所有子框,将其与第二个进行比较,然后隐藏/显示所有子框。考虑这个例子:样品Fiddle
<select class="soma1">
<option>item1</option>
<option>item2</option>
<option>item3</option>
<option>item4</option>
</select>
<select class="soma2">
<option disabled selected>Select</option>
<option>item1</option>
<option>item2</option>
<option>item3</option>
<option>item4</option>
</select>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var default_values = $('.soma2').children();
$('.soma1').change(function () {
var cm = $('.soma1').val();
$('.soma2').html(default_values);
$('.soma2').children().each(function(index, element) {
// loop each children and compare
if($(element).text() == cm) {
$(this).remove();
}
});
$('.soma2').prop('selectedIndex', 0); // reset selected value
});
});
</script>
您也可以使用$('.soma1').find('option:selected').html()
;
这是一把小提琴
<select class="soma1">
<option>item1</option>
<option>item2</option>
<option>item3</option>
<option>item4</option>
</select>
<select class="soma2">
<option>item1</option>
<option>item2</option>
<option>item3</option>
<option>item4</option>
</select>
<script type="text/javascript">
$('.soma1').change(function () {
var selectedItem = $('.soma1').find('option:selected');
$('.soma2').find('option').each(function(){
if (selectedItem.html() != $(this).html()){
$(this).remove();
}
});
});
</script>
而不是
var cm = $('.soma1').text();
使用
var cm = $('.soma1').val();
<script>
$( document ).ready(function() {
$('select').change(function (evt) {
var cm = $('.soma1').find("option:selected").val();
$('.soma2 option').remove();
$('.soma2').html($('.soma1').html());
$('.soma2').find("option:contains("+cm+")").remove();
});
});
</script>
使用以下html
<select class="soma1">
<option value="item1" >item1</option>
<option value="item2">item2</option>
<option value="item3">item3</option>
<option value="item4">item4</option>
</select>
<select class="soma2">
<option value="item1" >item1</option>
<option value="item2">item2</option>
<option value="item3" >item3</option>
<option value="item4">item4</option>
</select>
相关文章:
- jQuery-用于切换内容的自定义插件
- jQuery-用于检查是否有任何字段不为空,然后将所有字段设为必需字段的代码
- jQuery用于识别URL和附加参数
- 如何进行仅将 jQuery 用于回调的老式 HTML 表单提交
- Jquery 用于检查输入是否具有特定名称
- Jquery 用于在单选按钮中保留选中的值
- jQuery 用于选项卡的功能不起作用
- 如何使用纯javascript加载jquery,并将加载的jquery用于ajax请求
- 如何从jquery.cache对象中找到jquery用于数据存储的元素
- Jquery-用于多个输入框场景的If语句
- 将 jQuery 用于自己的属性
- Jquery用于修改页面上的所有锚标记href,并从href属性中提取关键请求参数
- Javascript或jQuery用于拍摄视频文件的第一秒快照
- 如何在javascript中使用for循环,jquery用于表中的行数
- 在没有jQuery用于选择所有下拉列表的情况下,相当于$(“select”)
- jQuery用于流控制的逻辑运算符,而不是使用if语句
- Javascript或JQuery用于ASP.净RadioButtonGroup
- JQuery用于将选择选项文本放入输入
- 使用JQuery(用于创建比较)避免重复的下拉项
- JQuery用于取消选中和选中复选框的干燥代码