を変更した場合、私は3つの選択ボックスを持っているし、すべてが同じ値(クローン)を有するされている参照テーブルの選択の変化に作成さ&。 今、私は3つのConstraintドロップダウンで選択を管理して、「選択されたものを他の2つに表示しない」ようにし、ユーザーが2つから同じものを選択しないようにします。 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関数は、私はそれが経験豊富なjQueryの開発者のためのシンプルなものでなければなりません確信しているhere-
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();
}
}
です。ありがとうございます。 私が正しくあなたを理解していれば
探しているものです。 – sana