У меня есть 3 поля выбора, и все они имеют одинаковое значение (клоны) и созданы при изменении выбора справочной таблицы.
теперь я хочу управлять выделением в трех раскрывающихся списках «Ограничение», чтобы оно «не отображало выбранное в двух других» и пользователь не мог выбрать одно из двух.
как это сделать в jquery?
Код -
<tr>
<td> Reference Table:</td>
<td>
<select id="tableCombo" onchange="jQuery.ajax({type:'POST',data:'tableCombo=' + this.value, url:'/GryphonMonitor /load/getColumns',success:function(data,textStatus) {jQuery('#columns').html(data);},error:function(XMLHttpRequest,textStatus,errorThrown) {},complete:function(XMLHttpRequest,textStatus){LoadSelects();}});" name="tableCombo">
</td>
</tr>
<tr id="cons">
<td nowrap=""> Constraint On: </td>
<td nowrap="">
<select id="columns" onchange="colChange(this);" name="columns">
<option value="CountryCode">CountryCode</option>
<option value="Date">Date</option>
<option value="Number">Number</option>
<option value="Type">Type</option>
</select>
</td>
<td nowrap=""> Constraint Value: </td>
<td nowrap="">
</tr>
<tr id="cons1">
<td> Constraint On: </td>
<td>
<select id="columns2" onchange="colChange(this);" name="columns2">
<option value="CountryCode">CountryCode</option>
<option value="Date">Date</option>
<option value="Number">Number</option>
<option value="Type">Type</option>
</select>
</td>
<td> Constraint Value: </td>
<td>
</tr>
<tr id="cons2">
<td> Constraint On: </td>
<td>
<select id="columns3" onchange="colChange(this);" name="columns3">
<option value="CountryCode">CountryCode</option>
<option value="Date">Date</option>
<option value="Number">Number</option>
<option value="Type">Type</option>
</select>
</td>
<td> Constraint Value: </td>
<td>
</tr>
JS функции здесь-
function LoadSelects()
{
$("#columns2, #columns3").html( $("#columns").html()).val('') ;
}
///I am trying to do thru this menthod but does not look good. here looking for help.
function getArray()
{
var selectElement = [];
$('#columns option').each(function() {
selectElement.push($(this).val())
});
return selectElement;
}
function colChange(col){
selectElements = getArray();
var $this = col;
for (i = 1; i < selectElements.length; i++)
{
if(col.value == selectElements[i]){
if(col.name == 'columns'){
$('#columns2').find('option[value=' + selectElements[i] + ']').remove();
$('#columns3').find('option[value=' + selectElements[i] + ']').remove();
}
else if(col.name == 'columns2'){
$('#columns').find('option[value=' + selectElements[i] + ']').remove();
$('#columns3').find('option[value=' + selectElements[i] + ']').remove();
}
else if(col.name == 'columns3'){
$('#columns').find('option[value=' + selectElements[i] + ']').remove();
$('#columns2').find('option[value=' + selectElements[i] + ']').remove();
}
}
Я уверен, что это должно быть что-то простое для опытного разработчика jquery.
заранее спасибо.