[英]Disable select in which option is selected
I am trying to make it just put the select disabled one which I choose an option and do not disable all the select ones. 我试图使它只是将选择禁用的一项放到我选择的选项中,而不是禁用所有选择的一项。
Example: in the first select
selection B Babel
Only that select gets disabled me 示例:在第一个select
选择B Babel
仅该选择被禁用
$(function() { $('.asignar').on('click', function() { $(".widthSelect").attr('disabled', 'disabled'); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="row center span10"> <button type="button" class='asignar'>assign</button> <table id="example-table" class="table table-striped table-hover table-condensed"> <tr> <th>Make</th> <th>Model</th> <th>Color</th> <th>SELECT</th> </tr> <tbody> <tr> <td>Ford</td> <td>Escort</td> <td>Blue</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Ford</td> <td>Ranger</td> <td>Blue</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Toyota</td> <td>Tacoma</td> <td>Red</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Ford</td> <td>Mustang</td> <td>Silver</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Mercury</td> <td>Sable</td> <td>Silver</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Toyota</td> <td>Corolla</td> <td>Blue</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> </tbody> </table> </div>
You can use .filter()
totarget <select>
with selectedIndex
property, and then disable them. 您可以使用.filter()
通过selectedIndex
属性将<select>
为目标,然后将其禁用。
$(".widthSelect").filter(function() {
return this.selectedIndex > 0;
}).prop('disabled', true);
And to manipulate properties ie disabled
use .prop()
method instead of .attr()
并操纵属性,即disabled
使用.prop()
方法代替.attr()
$(function() { $('.asignar').on('click', function() { $(".widthSelect").filter(function() { return this.selectedIndex > 0; }).prop('disabled', true); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="row center span10"> <button type="button" class='asignar'>assign</button> <table id="example-table" class="table table-striped table-hover table-condensed"> <tr> <th>Make</th> <th>Model</th> <th>Color</th> <th>SELECT</th> </tr> <tbody> <tr> <td>Ford</td> <td>Escort</td> <td>Blue</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Ford</td> <td>Ranger</td> <td>Blue</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Toyota</td> <td>Tacoma</td> <td>Red</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Ford</td> <td>Mustang</td> <td>Silver</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Mercury</td> <td>Sable</td> <td>Silver</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Toyota</td> <td>Corolla</td> <td>Blue</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> </tbody> </table> </div>
I think you mean this: 我想你的意思是:
$(function(){ $('.asignar').on('click', function(){ $(".widthSelect").each( function(){ if( $(this).find(":selected").text() != "select..." ){ $(this).attr('disabled','disabled'); } }); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="row center span10"> <button type="button" class='asignar'>assign</button> <table id="example-table" class="table table-striped table-hover table-condensed"> <tr> <th>Make</th> <th>Model</th> <th>Color</th> <th>SELECT</th> </tr> <tbody> <tr> <td>Ford</td> <td>Escort</td> <td>Blue</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Ford</td> <td>Ranger</td> <td>Blue</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Toyota</td> <td>Tacoma</td> <td>Red</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Ford</td> <td>Mustang</td> <td>Silver</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Mercury</td> <td>Sable</td> <td>Silver</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> <tr> <td>Toyota</td> <td>Corolla</td> <td>Blue</td> <td id="ISINcb" class="lblCell_R" align="center"> <select class="widthSelect"> <option id="ISIN1">select...</option> <option id="ISIN2">B Babel</option> <option id="ISIN3">C Cable</option> <option id="ISIN4">E Enable</option> </select> </td> </tr> </tbody> </table> </div>
I think this script will get desired result 我认为这个脚本会得到理想的结果
$(function(){
$('.asignar').on('click', function(){
$("#example-table select").each(function(){
if($(this).val()!='select...')
$(this).attr('disabled','disabled');
})
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.