0

我正在尝试更改下拉菜单,以便用户可以添加自定义输入。我正在使用 VQMod,目前已经设置了一个 PHP 数组,如下所示:

<td><select name="electricColours">
               <?php foreach (array("", "White", "Black", "Add Custom Colour..." ) as $eColours) { ?>
                 <?php if ($electricColours == $eColours) { ?>
                  <option value="<?php echo $eColours;?>" selected="selected"><?php echo $electricColours; ?></option>
                 <?php } else { ?>
                   <option value="<?php echo $eColours;?>"><?php echo $eColours; ?></option>
                 <?php }?>
              <?php } ?>
              <td class="left"><a onclick="AddCustomColour();" class="button"><?php echo "Add Custom Colours"; ?></a></td>
              </select>

我如何能够使用“添加自定义颜色...”向 eColours 添加新值,以便用户输入一些内容并将该颜色添加到数组中。

我认为使用 Javascript 以使其显示为警报,并且用户可以选择他们的选项,但它一直说变量未定义。

<SCRIPT TYPE="text/javascript">
                function AddCustomColour()
                {
                    var colour=prompt("Please add custom colour","Silver");
                    var arrays =  <?php echo json_encode($electricColours); ?>;
                    if (colour!=null)
                    {
                        electricColours.push(colour);
                    }
                }
        </SCRIPT>

谢谢

4

2 回答 2

0

替换此代码

<SCRIPT TYPE="text/javascript">
                function AddCustomColour()
                {
                    var colour=prompt("Please add custom colour","Silver");
                    var arrays =  <?php echo json_encode($electricColours); ?>;
                    if (colour!=null)
                    {
                        electricColours.push(colour);
                    }
                }
        </SCRIPT>

使用此代码

<script type="text/javascript">
function AddCustomColour()
{
    var colour=prompt("Please add custom colour","Silver");
    var ob = $("#electricColours");
    if (colour!=null)
    {
        ob.prepend("<option value="+ val +">" + text + "</option>");

    }
}
</script>
于 2013-12-06T12:43:37.047 回答
0

使用 DOM API:

var option = document.createElement("option");
option.setAttribute("value", value);
option.appendChild(document.createTextNode(value));
document.getElementById("the_select_element").appendChild(option);

代替:

document.getElementById("the_select_element")

您可以执行以下操作:

document.forms.the_form.electricColours
于 2013-12-06T12:35:25.707 回答