first commit
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
jQuery.fn.sSelect = function () {
|
||||
var selectId = $(this).attr('id');
|
||||
var selectIndex;
|
||||
$(this).append('<div class="dropselectbox"><h4><span></span><em></em></h4><ul style="display:none"></ul></div>');
|
||||
$.each($('#' + selectId + ' > select > option:selected'), function (i) {
|
||||
$('#' + selectId + ' > div > h4 >em').empty().append($(this).text());
|
||||
});
|
||||
$('.dropselectbox').show();
|
||||
$('#' + selectId + ' > select').hide();
|
||||
$('#' + selectId).bind("click", function (e) {
|
||||
selectId = $(this).attr('id');
|
||||
if ($('#' + selectId + ' > div > ul').css("display") == 'block') {
|
||||
$('.dropselectbox > ul').empty().hide();
|
||||
$('.dropselectbox > h4').removeClass("over");
|
||||
} else {
|
||||
$('#' + selectId + ' > div > ul').empty().toggle();
|
||||
$('#' + selectId + ' > div > h4').toggleClass("over");
|
||||
setSelectValue(selectId);
|
||||
//select option
|
||||
$('#' + selectId + ' > div > ul > li').click(function (e) {
|
||||
selectIndex = $('#' + selectId + ' > div > ul > li').index($(this)[0]);
|
||||
$('#' + selectId + '> select > option').removeAttr("selected");
|
||||
$('#' + selectId + '> select > option').eq(selectIndex).attr("selected", "selected");
|
||||
setSelectValue(selectId);
|
||||
cleadMenu();
|
||||
e.stopPropagation()
|
||||
})
|
||||
.hover(
|
||||
function () {
|
||||
$('#' + selectId + ' > div > ul > li').removeClass("over");
|
||||
$(this).addClass("over");
|
||||
},
|
||||
function () {
|
||||
$(this).removeClass("over");
|
||||
}
|
||||
);
|
||||
$(document).bind("click", cleadMenu);
|
||||
}
|
||||
e.stopPropagation()
|
||||
})
|
||||
.bind("selectstart", function () {
|
||||
return false;
|
||||
})
|
||||
.bind("blur", function () {
|
||||
cleadMenu();
|
||||
});
|
||||
}
|
||||
|
||||
function cleadMenu(){
|
||||
$('.dropselectbox > ul').empty().hide();
|
||||
$('.dropselectbox > h4').removeClass("over");
|
||||
$(document).unbind("click",cleadMenu);
|
||||
}
|
||||
|
||||
function setSelectValue(sID) {
|
||||
$.each($('#' + sID + ' > select > option'), function (i) {
|
||||
var classStr = "";
|
||||
if($(this).attr("class")){
|
||||
classStr = " class='" + $(this).attr("class") + "'";
|
||||
}
|
||||
$('#' + sID + ' > div > ul').append("<li" + classStr +">" + $(this).text() + "</li>");
|
||||
});
|
||||
|
||||
$.each($('#' + sID + ' > select > option:selected'), function (i) {
|
||||
$('#' + sID + ' > div > h4 > em').empty().append($(this).text());
|
||||
$('#' + sID + ' > div > ul > li').eq(i).addClass("over").addClass("selectedli");
|
||||
});
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user