2017-03-10 35 views
0

我是Jquery的新手。我無法刪除值3 3 3 &如果我點擊「刪除類別」按鈕,選擇1,1,1。它不刪除,並在某些情況下,它刪除1乘1或2.我無法理解什麼正在發生。我想要的是,我要選擇的每三個值都應該從底部刪除,每個按鈕(刪除類別)上的3到3點擊。如何從html中選擇列表框中刪除值點擊

var one = $('.select-manage-category').val(); 
 
var two = $('.select-manage-category1').val(); 
 
var three = $('.select-manage-category2').val(); 
 
$('#add-category').click(function() { 
 
    $(
 
    '.select-manage-category, .select-manage-category1, .select-manage-category2' 
 
).each(function() { 
 
    $('#selected-lst-values').append('<option value="' + $(this).val() + '">' + $(this).val() + '</option>'); 
 
    }); 
 
}); 
 
$('#remove-category').click(function() { 
 
    $('.select-manage-category, .select-manage-category1, .select-manage-category2').each(function() { 
 
    var the_index = $(this).val() - 1; 
 
    $('#selected-lst-values') 
 
     .find('option:nth-last-of-type(' + the_index + ')') 
 
     .remove(); 
 
    }); 
 
});
.select-manage-category, 
 
.select-manage-category1, 
 
.select-manage-category2 { 
 
    width: 100px; 
 
    float: left; 
 
    margin-right: 4px; 
 
} 
 

 
p { 
 
    clear: left; 
 
    text-align: center; 
 
} 
 

 
#selected-lst-values { 
 
    width: 100%; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div><select class="form-control select-manage-category" size="5"> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>1</option> 
 
    <option>2</option> 
 
</select></div> 
 

 
<div><select class="form-control select-manage-category1" size="5"> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>1</option> 
 
    <option>2</option> 
 
\t \t </select></div> 
 
<div><select class="form-control select-manage-category2" size="5"> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>1</option> 
 
    <option>2</option> 
 
\t \t </select> 
 
</div> 
 
<p class="text-center color-red">You can add up to 20 categories</p> 
 
</div> 
 
<input id="add-category" name="add" type="button" value="Add Category"> 
 
<input id="remove-category" name="add" type="button" value="Remove Category"> 
 
<div><select id="selected-lst-values" class="form-group percent-100" size="5"> 
 
\t \t </select></div> 
 
<button class="btn btn-md btn-radius pi-btn prodetails-btn" type="button"><strong>Save</strong> 
 
    <span class="glyphicon glyphicon-menu-right right-arrow-head-icon"></span> 
 
</button>

回答

1

由於更換remove函數爲explanation..Please看到更新後的JS小提琴

var one = $('.select-manage-category').val(); 
 
var two = $('.select-manage-category1').val(); 
 
var three = $('.select-manage-category2').val(); 
 
$('#add-category').click(function() { 
 

 
    $(
 
    '.select-manage-category, .select-manage-category1, .select-manage-category2' 
 
).each(function() { 
 
    $('#selected-lst-values').append('<option value="' + $(this).val() + '">' + $(this).val() + '</option>'); 
 
    }); 
 
}); 
 

 
$('#remove-category').click(function(){ 
 
var length=$('#selected-lst-values option').length; //total no of items in the fourth box 
 
//remove the last three on each click 
 
for(var i=0; i<3 ;i++) 
 
{ 
 
$('#selected-lst-values option:eq(' + (length - 1) + ')').remove(); 
 
length --; 
 
} 
 
});
.select-manage-category,.select-manage-category1,.select-manage-category2{ 
 
\t width:100px; 
 
\t float:left; 
 
\t margin-right:4px; 
 
} 
 
p{clear:left;text-align:center;} 
 

 
#selected-lst-values{ 
 
\t width:100%; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div><select class="form-control select-manage-category" size="5"> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>1</option> 
 
    <option>2</option> 
 
</select></div> 
 
<div><select class="form-control select-manage-category1" size="5"> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>1</option> 
 
    <option>2</option> 
 
\t \t </select></div> 
 
<div><select class="form-control select-manage-category2" size="5"> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>1</option> 
 
    <option>2</option> 
 
\t \t </select> 
 
\t \t </div> 
 
<div> 
 
<p class="text-center color-red">You can add up to 20 categories</p></div> 
 
<input id="add-category" name="add" type="button" value="Add Category"> 
 
<input id="remove-category" name="add" type="button" value="Remove Category"> 
 
<div><select id="selected-lst-values" class="form-group percent-100" size="5"> 
 
\t \t </select></div> 
 
<button class="btn btn-md btn-radius pi-btn prodetails-btn" type="button"><strong>Save</strong> 
 
    <span class="glyphicon glyphicon-menu-right right-arrow-head-icon"></span> 
 
</button>

Updated fiddle

+0

它的作品:)謝謝Treesa :) – Prabu

0

希望這個js會爲你工作。 這個

$('#remove-category').click(function(){ 
 
    var index= $('.select-manage-category')[0].selectedIndex || $('.select-manage-category1')[0].selectedIndex || $('.select-manage-category2')[0].selectedIndex; 
 
    $('.select-manage-category option:eq(' + index + ')').remove(); 
 
    $('.select-manage-category1 option:eq(' + index + ')').remove(); 
 
    $('.select-manage-category2 option:eq(' + index + ')').remove(); 
 
});
.select-manage-category,.select-manage-category1,.select-manage-category2{ 
 
\t width:100px; 
 
\t float:left; 
 
\t margin-right:4px; 
 
} 
 
p{clear:left;text-align:center;} 
 

 
#selected-lst-values{ 
 
\t width:100%; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div><select class="form-control select-manage-category" size="5"> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>1</option> 
 
    <option>2</option> 
 
</select></div> 
 
<div><select class="form-control select-manage-category1" size="5"> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>1</option> 
 
    <option>2</option> 
 
\t \t </select></div> 
 
<div><select class="form-control select-manage-category2" size="5"> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>1</option> 
 
    <option>2</option> 
 
\t \t </select> 
 
\t \t </div> 
 
<div> 
 
<p class="text-center color-red">You can add up to 20 categories</p></div> 
 
<input id="add-category" name="add" type="button" value="Add Category"> 
 
<input id="remove-category" name="add" type="button" value="Remove Category"> 
 
<div><select id="selected-lst-values" class="form-group percent-100" size="5"> 
 
\t \t </select></div> 
 
<button class="btn btn-md btn-radius pi-btn prodetails-btn" type="button"><strong>Save</strong> 
 
    <span class="glyphicon glyphicon-menu-right right-arrow-head-icon"></span> 
 
</button>

Updated fiddle

+0

@Mary - 謝謝。但是,我不想刪除前三個框中的值。這些是固定的,我想刪除那些在第四個列表框中的選定值。即我從前三個框中選擇任意三個值,然後單擊「添加類別」按鈕。所以,這些選定的值將在第四個框中。我希望這些值從底部(從最後選擇的三個值到我選擇的前三個值)被3除去3。 – Prabu

+0

所以你只是想每次點擊刪除按鈕清除#selected-list-values並添加新點擊的。是嗎? – Treesa

+0

我不是100%清楚你的'刪除類別'按鈕的目的。你試試這個更新的小提琴,讓我知道如果這就是你想要的 – Treesa

相關問題