Я хотел настроить SelectBox с помощью jquery, и я сделал этот поддельный selectBox с помощью Jquery, но он не работает.
Предполагается установить невидимый тег "select" и поместить вместо него div с ul внутри.
Я новичок в Jquery, поэтому, пожалуйста, не могли бы вы мне помочь?
Заранее спасибо,
Orangejuice .-
Это HTML:
<label class="search-filter-tl">Sort by</label>
<select class="select-sort-by" name="sort-by">
<option>Relevance</option>
<option value="alp-asc">Alphanumeric ASC</option>
<option value="alp-desc">Alphanumeric DESC</option>
<option value="pd-asc">Publish date ASC</option>
<option value="pd-desc">Publish date DESC</option>
</select>
<div id="replace-sort-by" class="replace">
<div class="current">Relevance</div>
<ul id="sort-by-options" class="options">
<li rel="alp-asc" >Alphanumeric ASC</li>
<li rel="alp-desc">Alphanumeric DESC</li>
<li rel="pd-asc">Publish date ASC</li>
<li rel="pd-desc">Publish date DESC</li>
</ul><!-- #options -->
</div><!-- #replace-sort-by -->
А это Jquery:
$(document).ready(function (){ //Onload:Run a function when the page is fully loaded including graphics.
var selectSortBy = $('select.select-sort-by');
var replaceSortBySelect = $('div.replace');
selectSortBy.css('display', 'none');
replaceSortBySelect.css('display', 'block');
var lis = $('ul.options li');
for (var i = 0; i <= lis.length; i++){
lis[i].click(function (){ //When you do a click in lis...
selectSortBy.val($(this).attr()); //al valor del select asignale el valor del atribute del div
$('ul.options').css('display','none'); //Do not show the option tag
$('div.current').html($(this).html()); //Faked selected option that will be showned in the select input.
});
}
$(replaceSortBySelect).mouseover(function() {
$('ul.options').css('display','block');
});
$(replaceSortBySelect).mouseleave(function() {
$('ul.options').css('display','none');
});
});