Javascript添加选项值

时间:2015-02-21 16:39:23

标签: javascript php

我使用下面的javascript代码将选项值添加到选择字段。

<script type="text/javascript">
$("#location").append($("<option></option>").val("Any Location").text("Any Location"));
$("#location").append($("<option></option>").val("Location 1").text("Location 1"));
$("#location").append($("<option></option>").val("Location 2").text("Location 2"));
</script>

这样可以正常但是由于我的表单是使用PHP设置的,我需要使用以下代码,以便在显示结果页面时选择的字段中保留所选的值。

<option value="Any Location"<?php if(isset($_SESSION['location'])) { if($_SESSION['location'] == "Any Location") { echo "selected";} } ?> >Any Location</option>

是否有可能以某种方式将PHP SESSION代码与javascript集成?

由于

1 个答案:

答案 0 :(得分:0)

将其写为JSON:

var dataLocation = <?php 
                     if(isset($_SESSION['location'])) 
                     {
                       echo '{"location" : "'.$_SESSION['location'].'"}';
                     } 
                     else {
                       echo '{"location" : "Unknown"}';
                     } ?>

现在,JavaScript会将此解析为有效代码,您可以使用以下代码检索位置:dataLocation.location;

如果您在脚本顶部执行此操作,则可以执行此操作:

$("#location").append($("<option></option>").val("Any Location").text("Any Location"));
$("#location").append($("<option></option>").val("Location 1").text("Location 1"));
$("#location").append($("<option></option>").val("Location 2").text("Location 2"));

//updated version:
var selectElement = $("#location > option[value='"+dataLocation.location+"']");
if (selectElement)
{
    selectElement.attr("selected", true);
}

为此,option的值必须与session中设置的位置相同。