扩展php数组参数函数的功能[关闭]
Posted
技术标签:
【中文标题】扩展php数组参数函数的功能[关闭]【英文标题】:extend functionality of php array parameter function [closed] 【发布时间】:2013-04-26 21:12:30 【问题描述】:假设我有一个给定数组的函数,它返回一段代码,例如
//the array
$arr = array("EAL" => "Eal",
"CAZO" => "Cazo",
"COS" => "Cos"
);
$result = '';
foreach ($arr as $key => $value)
$result .= ' $("'.$key.'").click(function() '
. ' $("'.$value.'").fadeToggle();'
. ' );'
$result .= ' ; ';
看起来像
$result=' $("#EAL").click(function() '
. ' $("#Eal").fadeToggle();'
. ' );'
. ' $("#CAZO").click(function() '
. ' $("#Cazo").fadeToggle();'
. ' );'
. ' $("#COS").click(function() '
. ' $("#Cos").fadeToggle();'
. ' );' ;
现在,当我对一个键有多个值时,我该如何完成这种情况,例如:
$("#CAZO").click(function()
$("#Cazo_x").fadeToggle();
$("#Cazo_y").fadeToggle();
$("#Cazo_z").fadeToggle();
);
所以最终结果是
$result=' $("#EAL").click(function() '
. ' $("#Eal").fadeToggle();'
. ' );'
. ' $("#CAZO").click(function() '
. ' $("#Cazo_x").fadeToggle();'
. ' $("#Cazo_y").fadeToggle();'
. ' $("#Cazo_z").fadeToggle();'
. ' );'
. ' $("#COS").click(function() '
. ' $("#Cos").fadeToggle();'
. ' );' ;
【问题讨论】:
【参考方案1】:使用类来避免所有重复的代码。然后你可以这样做:
$(".fadeThis").on('click', function()
// the ID of the element is available as this.id
$(this).fadeToggle();
// $(this).children() to get the children...
);
【讨论】:
你能举一个在代码上使用它的例子吗? 当然可以,但是 html 标记看起来如何?并将你想要的元素指向fadeToggle
我有像jsfiddle.net/davidThomas/UpX3L/1这样的输入字段
见:jsfiddle.net/UpX3L/143
您的回答非常好,但是如果我单击一个链接,如何显示/隐藏 2 个或更多 div?【参考方案2】:
$arr = [
'EAL' => 'Eal',
'CAZO' => [
'Cazo_x',
'Cazo_y',
'Cazo_z'
],
'COS' => 'Cos'
];
$result = '';
foreach($arr as $key => $value)
$result .= '$("'.$key.'").click(function() ';
if(!is_array($value)) $value = [$value];
foreach($value as $v)
$result .= '$("'.$v.'").fadeToggle();'
$result .= ');';
【讨论】:
【参考方案3】:试试这个:
//the array
$arr = array("EAL" => "Eal",
"CAZO" => "Cazo",
"COS" => "Cos","key2" =>array("value1","value2")
);
$result = '';
foreach ($arr as $key => $value)
$result .= ' $("'.$key.'").click(function() ';
if( is_array( $value ))
foreach( $value as $val )
$result .=' $("'.$val.'").fadeToggle();'
else
$result .= ' $("'.$value.'").fadeToggle();'
$result .= ' );'
$result .= ' ; ';
【讨论】:
以上是关于扩展php数组参数函数的功能[关闭]的主要内容,如果未能解决你的问题,请参考以下文章