ミッション:特定のクラス名を持つHTML要素の関数をスキルアップします。
簡単に言うと、追加することでページ内のすべてのスタイルを設定するJquery関数が1つありますが、aのクラス名が「noStyle」の場合は関数を実行しないでください。
これが私のJQueryです:
var scr = jQuery.noConflict();
scr(document).ready(function($){
scr.fn.extend({
customStyle : function(options) {
if(!scr.browser.msie || (scr.browser.msie&&scr.browser.version>6)){
return this.each(function() {
function hasClass($currentSelected1, cls) {
return (' ' + $currentSelected1.className + ' ').indexOf(' ' + cls + ' ') > -1;
}
var currentSelected = scr(this).find(':selected');
if(hasClass(scr(this)[0].outerHTML, 'noStyle') == false)
{
scr(this).after('<span class="customStyleSelectBox"><span class="customStyleSelectBoxInner">'+currentSelected.text()+'</span></span>').css({position:'absolute', opacity:0,fontSize:scr(this).next().css('font-size')});
var selectBoxSpan = scr(this).next();
var selectBoxWidth = parseInt(scr(this).width()) - parseInt(selectBoxSpan.css('padding-left')) -parseInt(selectBoxSpan.css('padding-right'));
var selectBoxSpanInner = selectBoxSpan.find(':first-child');
selectBoxSpan.css({display:'inline-block !important'});
selectBoxSpanInner.css({width:selectBoxWidth, display:'inline-block'});
var selectBoxHeight = parseInt() + parseInt(selectBoxSpan.css('padding-top')) + parseInt(selectBoxSpan.css('padding-bottom'));
scr(this).height(selectBoxHeight).change(function(){
selectBoxSpanInner.text(scr(this).find(':selected').text()).parent().addClass('changed');
});
}
else{
alert("sdklj");
}
});
}
}
});
});
scr(function(){
scr('select').customStyle();
});
.phtmlは次のとおりです。
<select name="board_category_id[]" id="board_category_id" class="noStyle board_category_class" multiple="multiple" style="opacity: 1 !important;position: relative !important;width: 100% !important;" row="2" onchange="changeselected(this)" style="background-image: none !important;">
<?php foreach ($result as $pincategory) { ?>
<option value=" <?php echo $pincategory->category_id; ?>" id=" <?php echo $pincategory->category_id; ?>" > <?php echo $pincategory->category_name; ?></option>
<?php } ?>
</select>
phpタグは完璧に機能するので、気にする必要はありません。
ライブリンクは次のとおりです。http://iseofirm.net/service/SVE177/