Click here to Skip to main content
15,891,473 members
Please Sign up or sign in to vote.
5.00/5 (1 vote)
See more:
How to made on change event by clicking button


<select name="dropdown1" selected>
 
  <option value="1">Test 1</option>
  <option value="2">Test 2</option>
  <option value="3">Test 3</option>
  <option value="4">Test 4</option>
  <option value="5">Test 5</option>
</select>

<select name="dropdown2" selected>
  
  <option value="1">Test 1</option>
  <option value="2">Test 2</option>
  <option value="3">Test 3</option>
  <option value="4">Test 4</option>
  <option value="5">Test 5</option>
</select>

$("#plus").click(function(){
var selectedItem = $($dropdown1).val();
alert(selectedItem);
    $dropdown1.on('change',function() {
    $dropdown2.empty().append($dropdown1.find('option').clone());
    //var selectedItem = $(this).val();
    if (selectedItem) {
        $dropdown2.find('option[value="' + selectedItem + '"]').remove();
    }
});
});


What I have tried:

I have tried with below code but not populating second dropdown
$("#plus").click(function(){
var selectedItem = $($dropdown1).val();
alert(selectedItem);
    $dropdown1.on('change',function() {
    $dropdown2.empty().append($dropdown1.find('option').clone());
    //var selectedItem = $(this).val();
    if (selectedItem) {
        $dropdown2.find('option[value="' + selectedItem + '"]').remove();
    }
});
});

<button id="plus" value="+">+</button>



But the second drown list item Test 1 is not removed.
Posted
Updated 15-May-17 20:39pm
v2

Move your code :
$dropdown1.on('change'...

to outside of the $("#plus").click(...
function.
If you refer to the jQuery documentation the $object.on function is a expression binding so when called in your code currently, it's only binding it but not calling it.
 
Share this answer
 
You need to trigger the dropdownlist change event from your button click event.

$("#plus").click(function(){
//Your code.
//trigger code

$('#YourDDLId').trigger('change');

});

// Write your dropdownlist change event

$('#YourDDLId').on('change', function () {
// Your code.

});

Try this..
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900