繁体   English   中英

HTML格式/ PHP:使用选项值=数组进行选择

[英]Html Form / php : select with option value = array

如何使用php数组作为HTML <option>的值?

例如

<select name='myname'>
  <option value=' array("font-family" => "font-family: 'Yeseva One', serif","font-name" => "Yeseva One","css-name" =>"Yeseva+One")'>
    Font 1
  </option>
  ...
</select>

最终取决于您要归档的内容。 我为您提供3种选择:

1)Json非常灵活:

<option value="<?php json_encode($yourArray) ?>">Font 1</option

然后,您可以稍后将Json转换回带有json_decode的数组。

2)如果您需要用于服务器客户端脚本的数据,则使用HTML5的数据属性可能是一个更好的主意:

<option value="value1" data-fontname="Yeseva One" data-cssname="Yeseva+One">Font 1</option>

3)您可以使用隐藏的输入字段,这将允许您检索$ _POST ['font1'] ['css_name']等值。

<input type="hidden" name="font1[font_name]" value="Yeseva One" />

您显然将不得不逃避您的价值观。 但是你明白了。

我认为最好的方法是用逗号分隔值,即

<select name='myname'>
<option value='Yeseva One, serif'</option>
</select>

在php中,您可以将结果内嵌到数组中

$array_of_results = implode( $_POST['myname'] );

我认为您可以序列化数组:

<?php

$arrYourArray = array(
"font-family" => "font-family: 'Yeseva One', serif",
"font-name" => "Yeseva One",
"css-name" =>"Yeseva+One");

?>

<select name="myname">
  <option value="<?php echo serialize($arrYourArray); ?> ">
    Font 1
  </option>
  ...
</select>

您是否要基于在数组中设置的选项创建选择表单?

如果是这样,您可以这样做:

<select name="myname">

    <?php

    $selects = Array('Verdana' => 'font-family: Verdana;', '\'Trebuchet MS\', Helvetica, Arial, sans-serif' => 'font-family: \'Trebuchet MS\', Helvetica, Arial, sans-serif;');

    foreach($selects as $select => $css) {

        echo '<option value="' . $css . '">' . $select . '</option>';

    }

    ?>

</select>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM