옵션 태그 (값 제외)의 모든 속성을 찾으려고하므로 옵션 태그를 목록 항목 태그로 바꾸고 속성을 목록 항목에 추가 할 수 있습니다.jQuery 함수는 PHP의 str_replace와 같습니다.
var elemAtts = $(this).replace('<option value="'+$(this).prop("value")+'" ', '');
이 전체입니다 : 이것은 다음 줄에서 발생
Uncaught TypeError: undefined is not a function
: 나는 건너마다 구글 결과는하지만, 내가 콘솔에서 다음과 같은 오류가 발생하고,이 작업을 수행 할 replace()
를 사용하여 말한다 스크립트 : 기본적으로
$('select').each(function(){
var selectName = $(this).prop("name");
var selectOpts = $(this).find("option");
var selectPar = $(this).parent();
var hiddenInput = '<input type="hidden" name="'+selectName+'" value="">';
var menu = '<div class="jqSelect">' +
'<div class="selected-text" id="'+selectName+'-selected"><div id="'+selectName+'-text">'+$(this).find(":selected").text()+'</div>' +
'<div class="caret" onclick="$(\'ul#'+selectName+'-menu\').toggle();"></div>' +
'<ul id="'+selectName+'-menu">';
selectOpts.each(function(){
if($(this).is(":selected")){
$('#'+selectName+'-selected').text($(this).text());
menu += '<li class="selected"';
} else {
menu += '<li';
}
var elemAtts = $(this).replace('<option value="'+$(this).prop("value")+'" ', '');
elemAtts = elemAtts.replace('>', '');
menu += ' data-option-value="'+$(this).prop("value")+'" '+elemAtts+'>'+$(this).text()+'</li>';
});
menu += '</ul></div>';
selectPar.html(menu + hiddenInput);
$('ul#'+selectName+'-menu').hide();
generatedMenu = $('#'+selectName+'-menu');
generatedMenu.find('li').each(function(){
$(this).on('click', function(){
$('#'+selectName+'-text').text($(this).text());
$('#'+selectName+'-menu').hide();
$('input[name="'+selectName+'"]').attr("value", $(this).data('option-value'));
$(this).siblings().removeProp('class');
$(this).prop('class', 'selected');
});
});
});
내가이를 설정하면된다하려고 ...
이 (캐릭터 라인 형식) 속으로...
rel="toggleElem" class="foo" id="bar"