我有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開發簡單的東西。 在此先感謝。
進入變化的功能,但在此之後並沒有與我的代碼工作。 – sana 2012-04-02 17:07:48