Javascript 将切换元素设置为';在';或';关闭';使用jQuery在HTML表中指定值
我需要根据表中单元格的值来改变HTML/CSS/jQuery toggle元素的显示方式,即“是”或“否” 所需的功能是:Javascript 将切换元素设置为';在';或';关闭';使用jQuery在HTML表中指定值,javascript,jquery,html,css,toggle,Javascript,Jquery,Html,Css,Toggle,我需要根据表中单元格的值来改变HTML/CSS/jQuery toggle元素的显示方式,即“是”或“否” 所需的功能是: 如果表格单元格中有表示“是”的文本,则toggle元素需要有一个.off类,并将复选框的checked属性设置为true或checked 如果单元格中有表示“否”的文本,则toggle元素需要有一个类.on,并将复选框的checked属性设置为false或unchecked 以下是我目前的代码: //修剪函数 if(typeof String.prototype.trim
.off
类,并将复选框的checked属性设置为true
或checked.on
,并将复选框的checked属性设置为false
或unchecked//修剪函数
if(typeof String.prototype.trim!=“函数”){
String.prototype.trim=函数(){
返回此。替换(/^\s+|\s+$/g,');
}
}
//切换功能
$(文档).ready(函数(){
//查找开发人员是/否输入和检查值
var ynCell=$(“td.yn”);
$(ynCell).each(函数(){
var ynValue=$(ynCell.text().toLowerCase().trim();
//如果值=否,则显示“打开”切换类
//如果值=是,则显示切换类“关闭”
if(ynValue.indexOf('no')!=-1){
$(“.switch”).parent().find('input:checkbox').attr('checked',false);
$(“.switch”).removeClass('off').addClass('on');
}else if(ynValue.indexOf('yes')!=-1){
$(“.switch”).parent().find('input:checkbox').attr('checked',true);
$(“.switch”).removeClass('on').addClass('off');
}
});
$(“.switch”)。每个(函数(){
if($(this).parent().find('input:checkbox').length){
if(!$(this).parent().find('input:checkbox').hasClass(“show”)){
$(this).parent().find('input:checkbox').hide();
}
if($(this).parent().find('input:checkbox')。是(':checked')){
$(this).removeClass('on').addClass('off');
}否则{
$(this).removeClass('off').addClass('on');
}
}
});
$(“.switch”)。单击(函数(){
if($(this).hasClass('on')){
$(this).parent().find('input:checkbox').attr('checked',true);
$(this).removeClass('on').addClass('off');
}否则{
$(this).parent().find('input:checkbox').attr('checked',false);
$(this).removeClass('off').addClass('on');
}
});
});代码>
th{
文本对齐:左对齐;
}
.交换机容器{
填充物:5px;
}
.开关{
位置:相对位置;
显示:内联块;
字号:1.6em;
字体大小:粗体;
颜色:#ccc;
高度:18px;
填充:6px 6px 5px 6px;
边框:1px实心#ccc;
边界半径:5px;
背景:#ececec ;;
光标:指针;
字体大小:14px;
}
body.IE7.开关{
宽度:78px;
}
.开关跨度{
显示:内联块;
宽度:35px;
}
.开关span.on{
颜色:#5cbac;
左边距:5px;
}
.关闭span{
左边距:10px;
}
.开关{
位置:绝对位置;
顶部:1px;
宽度:40px;
高度:25px;
边框:1px实心#ccc;
边界半径:5px;
背景:#fff;
z指数:999;
-webkit过渡:所有0.15秒都易于输入输出;
-moz过渡:所有0.15秒的缓进缓出;
-o型过渡:所有0.15秒的缓进缓出;
-ms转换:所有0.15秒均易于输入输出;
}
.开关{
左:1%;
}
.开关{
左:56%;
}
JS-Bin
是/否
切换
对
是的
不
是的
在.each()
循环中,您需要使用this
来访问当前循环元素,而不是$(ynCell)
,它包含所有是/否单元格。要查找相关的.switch
元素,需要从当前行使用.find()
//修剪函数
if(typeof String.prototype.trim!=“函数”){
String.prototype.trim=函数(){
返回此。替换(/^\s+|\s+$/g,');
}
}
//切换功能
$(文档).ready(函数(){
//查找开发人员是/否输入和检查值
var ynCell=$(“td.yn”);
$(ynCell).each(函数(){
var ynValue=$(this.text().toLowerCase().trim();
var行=$(此).tr;
//如果值=否,则显示“打开”切换类
//如果值=是,则显示切换类“关闭”
if(ynValue.indexOf('no')!=-1){
行.find('input:checkbox').attr('checked',false);
行.find(“.switch”).removeClass('off').addClass('on');
}else if(ynValue.indexOf('yes')!=-1){
行.find('input:checkbox').attr('checked',true);
行.find(“.switch”).removeClass('on').addClass('off');
}
});
$(“.switch”)。每个(函数(){
if($(this).parent().find('input:checkbox').length){
if(!$(this).parent().find('input:checkbox').hasClass(“show”)){
$(this).parent().find('input:checkbox').hide();
}
if($(this).parent().find('input:checkbox')。是(':checked')){
$(this).removeClass('on').addClass('off');
}否则{
$(this).removeClass('off').addClass('on');
}
}
});
$(“.switch”)。单击(函数(){
if($(this).hasClass('on')){
$(this).parent().find('input:checkbox').attr('checked',true);
$(this).removeClass('on').addClass('off');
}否则{
$(this).parent().find('input:checkbox').attr('checked',false);
$(this).removeClass('off').addClass('on');
}
});
});代码>
th{
文本对齐:左对齐;
}
.交换机容器{
填充物:5px;
}
.开关{
位置:相对位置;
显示:内联块;
字号:1.6em;
字体大小:粗体;
颜色:#ccc;
高度:18px;
填充:6px 6px 5px 6px;
边框:1px实心#ccc;
边界半径:5px;