国家和州的形式

时间:2017-01-07 22:23:43

标签: php html forms

我在"我的帐户"中有两个选择字段(国家/地区和州)。自动填充国家/地区的用户表单和来自countries.js的州列表。这很好用 但每当用户打开他的帐户详细信息(如亚马逊)时,我希望用数据库中的当前值填充相应的字段(因为这些是活动输入字段,用户也可以更改值)。我这样做是通过回显输入字段中的值,如(见下面的代码)

<input type="text" class="form-control" id="tgender" name="tgender" value="<?php echo "$trainer_gender"?>" > 

这里是代码

但这对国家和州来说并不起作用。如果我回应国家和州的字段值,那么国家/地区的下拉不起作用(如果用户想要更改或是第一次用户)

1 个答案:

答案 0 :(得分:0)

与文本输入字段相比,选择框的值设置不同。

您要搜索的内容是selected代码的<option>属性(请参阅https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)。

无论您在何处构建国家/州的选择框,都需要迭代该列表,并检查当前迭代值是否与数据库中的迭代值匹配。

例如:

<select name="state">
  <option value=''>SELECT</option>
  <?php
  $conn = mysqli_connect('localhost', 'root', '');
  $result = mysqli_query($conn, 'SELECT id, name FROM states');
  while ($row = mysqli_fetch_assoc($result))
  {
      $selected = ($stateFromDB == $row['name']) ? 'selected' : '';
      echo "<option value='$row[id]' $selected >$row[name]</option>";
  }
  ?>
</select>

您也可以通过Javascript选择正确的值,例如通过使用jQuery:

$("#state-list").val("Your State from DB");