js 把字符串当函数执行的方法
作者:
一段字符串 里面包含了 要执行的函数和参数等,需要去执行这段字符串。
并且用js去执行:
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
-------------------------------
方法一。。。
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
这是方法二。。。。
在checkbox的 value中 设定了 该checkbox要执行的 函数,而 方法的参数 就是将 当前点击的checkbox 做为参数传过去。
此处 我用大jquery来操作
$(function() {
$("ul li a").css("cursor", "pointer");
$("ul li a").click(function() {
var $ck = $(this).siblings(":checkbox");
if ($ck.attr("name") == "total")//全选
{
if ($ck.attr("checked") == false) {
$ck.attr("checked", "checked");
$("[name='ck']:checkbox").attr("checked", "checked");
var ff = $ck.val();//获取要执行的函数的字符串
var cc = $ck.get(0);// 将jquery对象 转换为DOM对象
window[ff](cc);//执行字符串的函数 并将当前checkbox对象作为参数 传过去
}
else {
$ck.attr("checked", "");
$("[name='ck']:checkbox").attr("checked", "");
var ff = $ck.val();
var cc = $ck.get(0);
window[ff](cc);
}
}
else//当个选择
{
if ($ck.attr("checked") == false) {
$ck.attr("checked", "checked");
var s = $ck.val();
var a = $ck.get(0);
window[s](a);
}
else {
$ck.attr("checked", "");
var s = $ck.val();
var cb = $ck.get(0);
window[s](cb);
}
}
})
})
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
-------------------------------
方法一。。。
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
这是方法二。。。。
在checkbox的 value中 设定了 该checkbox要执行的 函数,而 方法的参数 就是将 当前点击的checkbox 做为参数传过去。
此处 我用大jquery来操作
复制代码 代码如下:
$(function() {
$("ul li a").css("cursor", "pointer");
$("ul li a").click(function() {
var $ck = $(this).siblings(":checkbox");
if ($ck.attr("name") == "total")//全选
{
if ($ck.attr("checked") == false) {
$ck.attr("checked", "checked");
$("[name='ck']:checkbox").attr("checked", "checked");
var ff = $ck.val();//获取要执行的函数的字符串
var cc = $ck.get(0);// 将jquery对象 转换为DOM对象
window[ff](cc);//执行字符串的函数 并将当前checkbox对象作为参数 传过去
}
else {
$ck.attr("checked", "");
$("[name='ck']:checkbox").attr("checked", "");
var ff = $ck.val();
var cc = $ck.get(0);
window[ff](cc);
}
}
else//当个选择
{
if ($ck.attr("checked") == false) {
$ck.attr("checked", "checked");
var s = $ck.val();
var a = $ck.get(0);
window[s](a);
}
else {
$ck.attr("checked", "");
var s = $ck.val();
var cb = $ck.get(0);
window[s](cb);
}
}
})
})