Reputation: 540
Below is the code i have
function getName(selectName, selectedValue) {
var partices = $('#dk_container_'+selectName);
var selectlbl = partices.find('.dk_label');
var ul = partices.find('.dk_options_inner');
$('li').each(function () {
if ($('a', this).text() == selectedValue) {
$(this).addClass('dk_option_current');
selectlbl.html(selectedValue);
}
else {
$(this).attr('class', '');
}
});
}
The problem is $(this).addClass('dk_option_current');
. This particular line is meant to insert a class dk_option_current
in the li
element where the if condition satisfies. This selectlbl.html(selectedValue);
line is working correctly. But the class I want to add is not adding accordingly at all. Kindly point out if anything is wrong.
HTML
<a class="dk_toggle" style="width: 300px;">
<span class="dk_label"></span>
</a>
<div class="dk_options">
<ul class="dk_options_inner">
<ul class="dk_options_inner">
<li class="">
<a data-dk-dropdown-value=""> </a>
</li>
<li class="">
<a data-dk-dropdown-value="val1">Text1</a>
</li>
<li class="">
<a data-dk-dropdown-value="val2">Text2</a>
</li>
<li class="">
<a data-dk-dropdown-value="val3">Text3</a>
</li>
</ul>
</div>
Upvotes: 1
Views: 589
Reputation: 2316
try this:
function getName(selectName, selectedValue)
{
var partices = $('#dk_container_'+selectName);
var selectlbl=partices.find('.dk_label');
var ul=partices.find('.dk_options_inner');
$('li').each(function () {
var elem = $(this);
if($('a',this).text()== selectedValue){
elem.addClass('dk_option_current');
selectlbl.html(selectedValue);
}
else{
elem.attr('class','');
}
});
}
Upvotes: 1