2010-11-17 50 views
1

我的单选按钮值仅显示第一个字母(see picture here)。我有一个设置了单选按钮的表单,可以在“图像幻灯片”和“视频幻灯片”之间进行选择,但只显示每个值的第一个字母。只是“我”和“V”。为什么这个显示是这样的?我怎样才能解决这个问题?我的单选按钮值仅显示第一个字母

这是我与特定的单选按钮行代码高亮显示:http://pastebin.com/sDGTMe6v

+1

看看输出的HTML源代码,并首先确保PHP是有过错的事情。因此,请仅查找单选按钮名称的单个字符。 – 2010-11-17 19:09:58

+1

我没有看到任何在那里闪耀的东西。确保你没有做任何回应$ option ['name'] [0]的东西,在这种情况下,一个字符串被视为一个数组,而你只会看到第一个字符。 – castis 2010-11-17 19:12:51

+1

我通常会为阅读和帮助调试代码长期得到报酬:)如果您删除了“代码噪音”,这将有很大帮助 – stillstanding 2010-11-17 19:15:12

回答

1

我觉得在

case 'radio': 
foreach ($field['options'] as $option) { 
    echo '<input type="radio" name="', $field['id'], '" value="', $option['value'], '"', $meta == $option['value'] ? ' checked="checked"' : '', ' />', $option['name']; 
} 
break; 

你应该显示$选择,而不是$选项[ '名']:

case 'radio': 
foreach ($field['options'] as $option) { 
    echo '<input type="radio" name="', $field['id'], '" value="', $option, '"', $meta == $option ? ' checked="checked"' : '', ' />', $option; 
} 
break; 
+0

就是这样,谢谢。 – mattz 2010-11-17 19:38:39

1

我不确定对象$选项是怎么回事。您可以调试,看看它如何工作,通过线119之后加入这一行(在foreach函数内):

echo '<pre>'.print_r($option).'</pre>'; 

你可能不能够使用$选项[“值”],或者它可能不会被正确解析。一旦你看到$ option的结构,你可以进一步调试。

0

这是因为你试图输出

$option['name'] 

您的$option不是阵列..

只输出

$option 

这应该是值相同的属性以及..所以$option['value']应该$option以及