You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
259 lines
7.8 KiB
259 lines
7.8 KiB
/*
|
|
* 说明:该js文件提供对表单(checkbox、select、radio)操作的基本方法。
|
|
* 作者:zhangpenghuai
|
|
* 日期:2012-09-17
|
|
*/
|
|
/*--------------------------------------------------------------------------------------checkbox
|
|
/*
|
|
*方法说明:通过该方法可以实现对页面checkbox的全选、取消选择的功能。
|
|
*参数说明:trigger_checkbox_id触发全选的checkbox的ID,be_checkbox_name被全选、取消全选的checkbox名称。
|
|
*兼容的浏览器:IE6 IE7 IE8 FireFox Chrome 360IE
|
|
*/
|
|
function checkAllOrCancel(trigger_checkbox_id,be_checkbox_name){
|
|
var checkBox=document.getElementById(trigger_checkbox_id);
|
|
var checkBoxAll=document.getElementsByName(be_checkbox_name);
|
|
|
|
for(var i = 0 ; i < checkBoxAll.length ; i++) {
|
|
checkBoxAll[i].checked = checkBox.checked;
|
|
}
|
|
}
|
|
/*
|
|
*方法说明:通过该方法实现 根据传来的值val只允许选择一组checkbox中的一项(类似radio).
|
|
*参数说明:checkboxName:checkbox组的name,checkboxVal:当前checkbox的值。
|
|
*兼容的浏览器:IE6 IE7 IE8 FireFox Chrome 360IE
|
|
*/
|
|
function checkOnlyCheckboxByVal(checkboxName,checkboxVal){
|
|
var checkBox=document.getElementsByName(checkboxName);
|
|
for(var i = 0 ; i < checkBox.length ; i++) {
|
|
if(checkBox[i].value == checkboxVal){
|
|
checkBox[i].checked = true ;
|
|
}else{
|
|
checkBox[i].checked = false ;
|
|
}
|
|
}
|
|
}
|
|
/*
|
|
*方法说明:通过该方法实现 根据传来的文本text只允许选择一组checkbox中的一项(类似radio).
|
|
*参数说明:checkboxName:checkbox组的name,checkboxText:当前checkbox的文本。
|
|
*兼容的浏览器:IE6 IE7 IE8 FireFox Chrome 360IE
|
|
*/
|
|
function checkOnlyCheckboxByText(checkboxName,checkboxText){
|
|
var checkBox=document.getElementsByName(checkboxName);
|
|
for(var i = 0 ; i < checkBox.length ; i++) {
|
|
if(checkBox[i].nextSibling.nodeValue == checkboxText){
|
|
checkBox[i].checked = true ;
|
|
}else{
|
|
checkBox[i].checked = false ;
|
|
}
|
|
}
|
|
}
|
|
/*
|
|
*方法说明:根据传递过来的的checkbox的值集合(val)勾选中对应的checkbox项。
|
|
*调用说明:checkbox名称需要保持一致传递进来。val值的格式用英文逗号分隔,示例:'1,2,4,6,'
|
|
*兼容的浏览器:IE6 IE7 IE8 FireFox Chrome 360IE
|
|
*/
|
|
function checkByVal(checkboxName,val){
|
|
if(val == '' || val == null){
|
|
return null ;
|
|
}
|
|
//获取页面选项
|
|
var checkBoxAll = document.getElementsByName(checkboxName);
|
|
//清空已选择的
|
|
for(var j = 0 ;j<checkBoxAll.length; j++){
|
|
checkBoxAll[j].checked = false;
|
|
}
|
|
//值分隔
|
|
var valArr = val.split(',');
|
|
|
|
for(var i = 0 ;i <valArr.length ;i ++){
|
|
for(var j = 0 ;j<checkBoxAll.length; j++){
|
|
if(valArr[i] == checkBoxAll[j].value){
|
|
checkBoxAll[j].checked = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/*
|
|
*方法说明:根据传递过来的的checkbox的文本集合(text)勾选中对应的checkbox项。
|
|
*调用说明:checkbox名称需要保持一致传递进来。val值的格式用英文逗号分隔,示例:'唱歌,跳舞,游泳,下棋'
|
|
*兼容的浏览器:IE6 IE7 IE8 FireFox Chrome 360IE
|
|
*/
|
|
function checkByText(checkboxName,text){
|
|
if(text == '' || text == null){
|
|
return null ;
|
|
}
|
|
//获取页面选项
|
|
var checkBoxAll = document.getElementsByName(checkboxName);
|
|
//清空已选择的
|
|
for(var j = 0 ;j<checkBoxAll.length; j++){
|
|
checkBoxAll[j].checked = false;
|
|
}
|
|
//值分隔
|
|
var textArr = text.split(',');
|
|
|
|
for(var i = 0 ;i <textArr.length ;i ++){
|
|
for(var j = 0 ;j<checkBoxAll.length; j++){
|
|
if(textArr[i] == checkBoxAll[j].nextSibling.nodeValue){
|
|
checkBoxAll[j].checked = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/*
|
|
*方法说明:获取选中的checkbox的值(value)。
|
|
*参数说明:checkboxName:将要获取值的checkbox的名称,joinMark返回值的分隔符,可自定义,为空则使用英文逗号分隔。示例:1,2,3,4
|
|
*兼容的浏览器:IE6 IE7 IE8 FireFox Chrome 360IE
|
|
*/
|
|
function getCheckboxVals(checkboxName,joinMark){
|
|
//返回的值变量
|
|
var runVal = '' ;
|
|
//获取页面选项
|
|
var checkBoxAll = document.getElementsByName(checkboxName);
|
|
//joinMark验证
|
|
if(joinMark == '' || joinMark == null){
|
|
joinMark = ',' ;
|
|
}
|
|
for(var i = 0 ;i <checkBoxAll.length ;i ++){
|
|
if(checkBoxAll[i].checked){
|
|
runVal += checkBoxAll[i].value + joinMark ;
|
|
}
|
|
}
|
|
return runVal ;
|
|
}
|
|
/*
|
|
*方法说明:获取选中的checkbox的文本内容(text)。
|
|
*参数说明:checkboxName:将要获取值的checkbox的名称,joinMark返回值的分隔符,可自定义,为空则使用英文逗号分隔。示例:1,2,3,4
|
|
*兼容的浏览器:IE6 IE7 IE8 FireFox Chrome 360IE
|
|
*/
|
|
function getCheckboxTexts(checkboxName,joinMark){
|
|
//返回的值变量
|
|
var runVal = '' ;
|
|
//获取页面选项
|
|
var checkBoxAll = document.getElementsByName(checkboxName);
|
|
//joinMark验证
|
|
if(joinMark == '' || joinMark == null){
|
|
joinMark = ',' ;
|
|
}
|
|
for(var i = 0 ;i <checkBoxAll.length ;i ++){
|
|
if(checkBoxAll[i].checked){
|
|
runVal += checkBoxAll[i].nextSibling.nodeValue + joinMark ;
|
|
}
|
|
}
|
|
return runVal ;
|
|
}
|
|
/*--------------------------------------------------------------------------------------select
|
|
/*
|
|
*方法说明:根据传递过来的的select的值(val)选中对应的select项。
|
|
*调用说明:传递select的ID和要选中的val。
|
|
*兼容的浏览器:IE6 IE7 IE8 FireFox Chrome 360IE
|
|
*/
|
|
function selectByVal(selectID,val){
|
|
if(val == '' || val == null){
|
|
return null ;
|
|
}
|
|
//获取页面选项
|
|
var selectOptions = document.getElementById(selectID);
|
|
|
|
for(var i = 0 ;i <selectOptions.length ;i ++){
|
|
if(val == selectOptions[i].value){
|
|
selectOptions.options[i].selected = true;
|
|
break ;
|
|
}
|
|
}
|
|
}
|
|
/*
|
|
*方法说明:根据传递过来的的select的内容(text)选中对应的select项。
|
|
*调用说明:传递select的ID和要选中的内容项text。
|
|
*兼容的浏览器:IE6 IE7 IE8 FireFox Chrome 360IE
|
|
*/
|
|
function selectByText(selectID,text){
|
|
if(text == '' || text == null){
|
|
return null ;
|
|
}
|
|
//获取页面选项
|
|
var selectOptions = document.getElementById(selectID);
|
|
|
|
for(var i = 0 ;i <selectOptions.length ;i ++){
|
|
if(text == selectOptions[i].text){
|
|
selectOptions.options[i].selected = true;
|
|
break ;
|
|
}
|
|
}
|
|
}
|
|
/*--------------------------------------------------------------------------------------radio
|
|
/*
|
|
*方法说明:根据传递过来的的radio的值(val)选中对应的radio项。
|
|
*调用说明:传递radio的name和要选中的val。
|
|
*兼容的浏览器:IE6 IE7 IE8 FireFox Chrome 360IE
|
|
*/
|
|
function checkRadioByVal(radioName,val){
|
|
if(val == '' || val == null){
|
|
return null ;
|
|
}
|
|
//获取页面选项
|
|
var radios = document.getElementsByName(radioName);
|
|
|
|
for(var i = 0 ;i <radios.length ;i ++){
|
|
if(val == radios[i].value){
|
|
radios[i].checked = true;
|
|
break ;
|
|
}
|
|
}
|
|
}
|
|
/*
|
|
*方法说明:根据传递过来的的radio的内容(text)选中对应的radio项。
|
|
*调用说明:传递radio的name和要选中的text。
|
|
*兼容的浏览器:IE6 IE7 IE8 FireFox Chrome 360IE
|
|
*/
|
|
function checkRadioByText(radioName,text){
|
|
if(text == '' || text == null){
|
|
return null ;
|
|
}
|
|
//获取页面选项
|
|
var radios = document.getElementsByName(radioName);
|
|
|
|
for(var i = 0 ;i <radios.length ;i ++){
|
|
if(text == radios[i].nextSibling.nodeValue){
|
|
radios[i].checked = true;
|
|
break ;
|
|
}
|
|
}
|
|
}
|
|
/*
|
|
*方法说明:获取选中的radio的值(value)。
|
|
*参数说明:radioName:将要获取值的radioName的名称
|
|
*兼容的浏览器:IE6 IE7 IE8 FireFox Chrome 360IE
|
|
*/
|
|
function getRadioVal(radioName){
|
|
var runVal = '' ;
|
|
var radioArr = document.getElementsByName(radioName);
|
|
for(var i = 0 ;i<radioArr.length ;i++){
|
|
if(radioArr[i].checked){
|
|
runVal = radioArr[i].value ;
|
|
break ;
|
|
}
|
|
}
|
|
return runVal ;
|
|
}
|
|
/*
|
|
*方法说明:获取选中的radio的文本内容(text)。
|
|
*参数说明:radioName:将要获取值的radioName的名称
|
|
*兼容的浏览器:IE6 IE7 IE8 FireFox Chrome 360IE
|
|
*/
|
|
function getRadioText(radioName){
|
|
var runVal = '' ;
|
|
var radioArr = document.getElementsByName(radioName);
|
|
for(var i = 0 ;i<radioArr.length ;i++){
|
|
if(radioArr[i].checked){
|
|
runVal = radioArr[i].nextSibling.nodeValue ;
|
|
break ;
|
|
}
|
|
}
|
|
return runVal ;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|