1. 程式人生 > >支援ie8單選框與複選框自定義樣式

支援ie8單選框與複選框自定義樣式

css 樣式

/*wrapper divs 複選框與單選框樣式 */
.custom-checkbox,.custom-radio{position:relative;}
/* input, label positioning 該樣式控制checkbox  */
.custom-checkbox input{position:absolute;left:2px;top:0px;margin:0;}
.custom-checkbox label{display:block;position:relative;padding-right:1em;line-height:1;padding:.7em 0 .5em 30px;margin:0 0 .3em;cursor:pointer;}
/* states */
.custom-checkbox label{background:url(checkbox.gif) no-repeat;}
.custom-radio label{background:url(radiobutton.gif) no-repeat;}
.custom-checkbox label,.custom-radio label{background-position:-10px -14px;}
.custom-checkbox label.hover,.custom-checkbox label.focus,.custom-radio label.hover,.custom-radio label.focus{background-position:-10px -114px;}
.custom-checkbox label.checked,.custom-radio label.checked{background-position:-10px -214px;}
.custom-checkbox label.checkedHover,.custom-checkbox label.checkedFocus{background-position:-10px -314px;}
.custom-checkbox label.focus,.custom-radio label.focus{outline:1px dotted #ccc;}
/* input, label positioning 該樣式控制radio */
.custom-radio input{position:absolute;left:2px;top:2px;margin:0;}
.custom-radio label{display:block;position:relative;padding-right:1em;line-height:1;padding:.7em 0 .5em 30px;margin:0 0 .3em;cursor:pointer;}

js
jQuery.fn.customInput = function(){
return $(this).each(function(){
if($(this).is('[type=checkbox],[type=radio]')){
var input = $(this);

// 使用輸入的ID得到相關的標籤
var label = $('label[for='+input.attr('id')+']');

// 包裹在一個div輸入+標籤
input.add(label).wrapAll('<div class="custom-'+ input.attr('type') +'"></div>');

// 必要的瀏覽器不支援:hover偽類的標籤
label.hover(
function(){ $(this).addClass('hover'); },
function(){ $(this).removeClass('hover'); }
);

//繫結自定義事件,觸發它,繫結點選,焦點,模糊事件
input.bind('updateState', function(){
input.is(':checked') ? label.addClass('checked') : label.removeClass('checked checkedHover checkedFocus'); 
})
.trigger('updateState')
.click(function(){ 
$('input[name='+ $(this).attr('name') +']').trigger('updateState'); 
})
.focus(function(){ 
label.addClass('focus'); 
if(input.is(':checked')){  $(this).addClass('checkedFocus'); } 
})
.blur(function(){ label.removeClass('focus checkedFocus'); });
}
});
};


jsp 頁面寫法

<td style="border: 0px"><input name="ghContent" id="ghbox6"
class="inputbox" type="radio" value="液壓站" /> <label
for="ghbox6">液壓站</label>

js 渲染 $('.inputbox').customInput(); //格式化複選框和單選框

點選打岔效果


jsp 頁面寫法

<td style="border: 0px"><input name="ghContent" id="ghbox6"
class="inputbox" type="radio" value="液壓站" /> <label
for="ghbox6">液壓站</label>

js 渲染 $('.inputbox').cusInput(); //格式化複選框和單選框


js 新增程式碼

jQuery.fn.cusInput = function(){
return $(this).each(function(){
if($(this).is('[type=checkbox]')){
var input = $(this);

// 使用輸入的ID得到相關的標籤
var label = $('label[for='+input.attr('id')+']');

// 包裹在一個div輸入+標籤
input.add(label).wrapAll('<div class="cus-'+ input.attr('type') +'"></div>');

// 必要的瀏覽器不支援:hover偽類的標籤
label.hover(
function(){ $(this).addClass('hover'); },
function(){ $(this).removeClass('hover'); }
);

//繫結自定義事件,觸發它,繫結點選,焦點,模糊事件
input.bind('updateState', function(){
input.is(':checked') ? label.addClass('checked') : label.removeClass('checked checkedHover checkedFocus'); 
})
.trigger('updateState')
.click(function(){ 
$('input[name='+ $(this).attr('name') +']').trigger('updateState'); 
})
.focus(function(){ 
label.addClass('focus'); 
if(input.is(':checked')){  $(this).addClass('checkedFocus'); } 
})
.blur(function(){ label.removeClass('focus checkedFocus'); });
}
});
};

css新增程式碼

/** 差號顯示 */
.cus-checkbox input{position:absolute;left:2px;top:0px;margin:0;}
.cus-checkbox label{display:block;position:relative;padding-right:1em;line-height:1;padding:.7em 0 .5em 30px;margin:0 0 .3em;cursor:pointer;}

.cus-checkbox label{background:url(checkbox_cha.gif) no-repeat;}
.cus-checkbox label{background-position:-10px -14px;}
.cus-checkbox label.hover,.cus-checkbox label.focus{background-position:-10px -114px;}
.cus-checkbox label.checked{background-position:-10px -214px;}
.cus-checkbox label.checkedHover,.cus-checkbox label.checkedFocus{background-position:-10px -314px;}
.cus-checkbox label.focus{outline:1px dotted #ccc;}

我的資源中有寫好的列子

相關推薦

支援ie8定義樣式

css 樣式 /*wrapper divs 複選框與單選框樣式 */ .custom-checkbox,.custom-radio{position:relative;} /* input, label positioning 該樣式控制checkbox  */.custo

聯動

實現一個功能:點選全選框,所有複選框都選中或全不選中;只要有一個複選框不選中,全選框也不選中。 <script> $(document).ready(function(){     //全選框點選事件     $("inp

jQuery獲取Select選擇的Text(文字資訊)和 Value屬性的值,select語法解釋;

地址:http://www.cnblogs.com/yaoshiyou/archive/2010/08/24/1806939.html  jQuery獲取Select選擇的Text和Value: 語法解釋: 1. $("#select_id").change(function(){

PHP獲取下拉列表,多下拉列表,內的值

PHP獲取單選下拉列表,多選下拉列表,單選框,複選框內的值,此例將當前頁作為提交資料的頁面。 <form action=" " method="post" accept-charset="utf-8"> <!--單選下拉 學歷--> <selec

編輯,勾相關操作

編輯框的一些操作 用clear方法清除該元素裡面的字串 #輸入框開啟的時候,已經有內容了 input1.clear() 獲取input元素裡面輸入的文字內容 #獲取輸入框裡面已經有的內容 input1.get_attrib

【2018.05.14】python3.6+selenium

下面是一個單選框和複選框的HTML檔案 <html> <head> <title>"X box 單選"</title> </head> <body> &l

關於、下拉的資料回顯問題以及全和全不

在列表顯示的介面中通常都有編輯操作,進行編輯操作時通常就牽涉到資料的回顯問題,本文中編輯介面和新增介面是在同一個介面。 頁面中使用了jstl中的c標籤,所以要先引用: <%@ taglib prefix="c" uri="http://java.sun.com/js

Java 100-006:選單欄的建立-包括巢狀選單,禁用單項,按鈕單項,彈出選單以及快捷鍵和加速器

package java01; import java.awt.*; import java.awt.event.*; import javax.swing.*; /** * 我的java每天100行程式碼006 * 選單欄的建立:包括巢狀選單,禁用選單項,複選框和單選按鈕選

測試-按鈕、、下拉列表、搜尋填充域驗證點

1.單選按鈕測試常見驗證點 單選按鈕常在註冊新使用者選擇性別處用到,單選按鈕測試常見驗證點如下: 1.一組單選按鈕不能同時選中,只能選中一個 2.逐一執行每個單選按鈕的功能。分別選擇“男”、“女”後,儲存到資料庫的資料應該分別為“男”、“女”。 3.一組執行同一個功能

js和jQuery分別實現 、下拉列表的表驗證

關於頁面表單驗證:一些簡單的理解單選框/複選框:js程式碼:$(function () { $("#Button").click(function () {var love = document.getElementsByName("love"); for(var i

Jquery、下拉動態設定預設項,及動態獲取選中項。

1.單選框Html程式碼: 女 男 <div class="col-sm-7"> <div class="rdio rdio-success col-sm-2">

GUI程式設計基礎學習(三)——按鈕、、組合

單選按鈕JRadioButton JRadioButton元件用於實現一個單選按鈕。JRadioButton類可以單獨使用,也可以與ButtonGroup類聯合使用,當其單獨使用時,該單選按鈕可以被選定和被取消選定;當與ButtonGroup類聯合使用時,需要使用add()方法將JRadioBu

select選擇的使用

1、 <input text="checkbox" class="targetItem">, js操作CheckBox的選中和不選:$(".targetItem").checked=true;/$(".targetItem").checked=false; 全選

HTML5文字域,,下拉列表,提交、重置按鈕的設定,label標籤

文字域,支援多行文字輸入 當用戶需要在表單中輸入大段文字時,需要用到文字輸入域。 語法: <textarearows="行數"cols="列數">文字</textarea>

layui獲取,下拉的值

layui 獲取下拉框的值var type = $("填寫id").find("option:selected").attr("value");// 根據id獲取指定的下拉框var type = $("select option:checked").attr("value")

jsp頁面下拉預設選中問題

1.單選框:  <input name="sex" type="radio" value="boy" checked="checked">男      <input name="sex" type="radio" value="girl">女    

MFC介面程式設計基礎(12):組按鈕和

上一篇:MFC介面程式設計基礎(11):靜態文字框、命令按鈕和編輯框 下一篇:MFC介面程式設計基礎(13):列表框和組合框 組框、單選按鈕和複選框都是對話方塊的常見控制元件。組框與靜態文字框一樣是CStatic類

【基於Python的Selenium2自動化測試】07 - 定位

文章目錄 7.1 認識一下單選框和複選框 7.2 勾選單選框 7.3 勾選複選框 7.3.1 勾選單個複選框 7.3.2 勾選全部複選框 7.4 判斷選中與否的狀態

一步一步地實現選單欄(JMenuBar)工具欄(JPopupMenu)組合(JComboBox)(JCheckBox)按鈕(JRadioButton)文字域的綜合應用(三)

         此程式是在前面程式的基礎上增加響應事件的完整程式,為了不讓程式太長,我想將快捷鍵(右鍵彈出選單)的事件專門放在一個類裡面,但遇到了一個問題,發現不好將原來類EditorJFrame3裡的popupmenu和text成員變數引數傳遞到專門的事件類中,於是想出了

Android中的 按鈕和

在Adnroid中,單選按鈕和複選框都繼承了普通按鈕。因此它們都可以使用普通按鈕支援的各種屬性和方法。不同的是,它們提供了可以選中的功能,下面是對單選按鈕的和複選框的進行詳細的介紹。 在Andro