Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
7
rated 0 times [  13] [ 6]  / answers: 1 / hits: 5971  / 10 Years ago, wed, april 9, 2014, 12:00:00

I am using this code. But I'm facing a problem that when I select one in 1st select box and then in 2nd I select two and when I select again 2nd value to three but the value two remain disabled:



HTML code



// one
<select>
<option>Select</option>
<option value=1 >one</option>
<option value=two>two</option>
<option>three</option>
</select>
//two
<select>
<option>Select</option>
<option value=1 >one</option>
<option value=two>two</option>
<option>three</option>
</select>


This is JavaScript code:



$(document).ready(function(e) {

var $selects = $('select#players');
available = {};

$('option', $selects.eq(0)).each(function (i) {
var val = $.trim($(this).text());
available[val] = false;
});

$selects.change(function () {
var $this = $(this);
var selectedVal = $.trim($this.find('option:selected').text());

available[selectedVal] = true;

$selects.not(this).each(function () {
$('option', this).each(function () {
var optText = $.trim($(this).text()),
optCheck = available[optText];
if(optCheck) {
$(this).prop('disabled', true);
}
else {
$(this).prop('disabled', false);
}
});
});
}).change(); // Trigger once to add options at load of first

});

More From » jquery

 Answers
1

Assuming you want to disable values in the other select-boxes once chosen, here is a sample.



<select>
<option value= selected=selected>Select</option>
<option value=1>one</option>
<option value=2>two</option>
<option value=3>three</option>
</select>
<select>
<option value= selected=selected>Select</option>
<option value=1>one</option>
<option value=2>two</option>
<option value=3>three</option>
</select>

$(document).ready(function (e) {
var $selects = $('select');
$selects.change(function () {
var value = $(this).val();
if (value == ) {
return false;
}
$selects.not(this).each(function () {
$('option', this).each(function () {
var sel = $(this).val();
if (sel == value) {
$(this).prop('disabled', true);
} else {
$(this).prop('disabled', false);
}
});
});
}).change(); // Trigger once to add options at load of first

});


And a working fiddle


[#46182] Tuesday, April 8, 2014, 10 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
erinh

Total Points: 38
Total Questions: 100
Total Answers: 110

Location: Macau
Member since Mon, Nov 16, 2020
4 Years ago
;