2014-11-01 30 views
1

继续。在Pass city name from php to js (part 2)点击提交按钮后,从下拉列表中获取状态名称(第3部分)

状态数据的JSON($ stateJsonObject):

Array ( 
    [0] => stdClass Object ([stateId] => s1 [stateName] => Kuala Lumpur) 
    [1] => stdClass Object ([stateId] => s2 [stateName] => Selangor) 
) 

码(Statename的):

<html> 
<head></head> 

<body> 
<form action="test3.php" method="post"> 
    State: 
    <select name="state" id="state" onchange="showCity(this, 'city')"> 
     <option value ="">select one</option> 
     <?php 
     for($i = 0; $i < count($stateJsonObject); $i++) 
     { 
      echo '<option value = '.$stateJsonObject[$i] -> stateId.'>'; 
      echo $stateJsonObject[$i] -> stateName; 
      echo '</option>'; 
     } 
     ?> 
    </select> 
    <input type="submit" name="submit" value="Submit" /> 
</form>   
</body> 
</html> 

我的问题是:

当我选择Selangor从下拉列表中,我点击提交按钮后,如何在下拉菜单中保留Selangor名称列表选择?

+0

是这样的在同一页上? – Ghost 2014-11-01 03:59:17

+2

@Ghost我开始想知道为什么OP的代码(第一个相关问题)http://stackoverflow.com/q/26652620/然后一个(第2部分)http://stackoverflow.com/q/26668815/然后这一个(属于第3部分); *困惑*和一个大的WT *? – 2014-11-01 04:07:12

+0

@ Fred-ii-其实我以前回答过这样一个问题,这是一个很大的任务项目,我回答了其中的一个部分。最终所有部分都完成了。 (那从无出息哈哈) – Ghost 2014-11-01 04:14:05

回答

2

如果这是在同一页上提交,您可以添加当前提交的条目,并把检查属性内循环:

<form action="test3.php" method="post"> 
    State: 
    <select name="state" id="state" onchange="showCity(this, 'city')"> 
     <option value ="">select one</option> 
     <?php 
      for($i = 0; $i < count($stateJsonObject); $i++) 
      { 
       $selected = ($stateJsonObject[$i]->stateId == $_POST['state']) ? 'checked' : ''; 
       echo "<option value='".$stateJsonObject[$i]->stateId."' $selected>"; 
       echo $stateJsonObject[$i] -> stateName; 
       echo '</option>'; 
      } 
     ?> 
    </select> 
    <input type="submit" name="submit" value="Submit" /> 
</form> 

或者在foreach变种:

foreach($stateJsonObject as $state) { 
    $stateId = $state->stateId; 
    $stateName = $state->stateName; 
    $selected = ($stateId == $_POST['state']) ? 'checked' : ''; 
    echo "<option value='$stateId' $selected>$stateName</option>"; 
} 
+0

我更正了你的代码。 Becoz $ _POST ['state'] = stateid,因此需要匹配stateid,而不是州名。 – user3905044 2014-11-01 04:46:09

+0

@ user3905044是的我已经okayed修订没有问题 – Ghost 2014-11-01 04:46:41

+0

问题解决。 – user3905044 2014-11-01 04:47:54

相关问题