html和php下拉列表

时间:2010-12-13 15:00:22

标签: php html drop-down-menu

如何在php中声明多个变量,以便可以在html脚本中访问它。 Ex :: as html中的场景我创建了三个下拉列表

     1.drop down list 1
     2.drop down list 2
     3.drop down list 3 

如果下拉列表'1'有3个选项,例如

1.india
2.uk
3.china

并且每个国家/地区都有多个州,这必须显示在下拉列表“2”中。 如果用户选择印度,则必须在下拉列表'2'或'3'中显示所有状态

2 个答案:

答案 0 :(得分:0)

select中对选项进行分组的最简单方法是使用optgroup

<select name="country">
  <optgroup label="America">
    <option value="Canada">Canada</option>
    <option value="USA">USA</option>
    <option value="Mexico">Mexico</option>
  </optgroup>
  <optgroup label="Europe">
    <option value="Spain">Spain</option>
    <option value="France">France</option>
    <option value="Germany">Germany</option>
  </optgroup>
</select>

这将立即显示所有选项,因此“列表组”有很多选项并不好。更好的解决方案是在一个select中使用组,并在必要时由AJAX加载。

答案 1 :(得分:0)

你可以使用jQuery中的$ .ajax()方法来完成它。我会在一个表中创建一个包含所有国家/地区的数据库,然后在另一个表中列出所有州和它们所属的国家/地区。

Country | pkid

State   | pkid | fk_countryID

然后,您可以编写一个PHP页面,该页面将根据您使用Ajax传递的数据来提取来自同一国家/地区的所有状态。该页面将回显每个州名,所有州名都由管道(“|”)分隔。

然后,您将根据用户从国家/地区下拉列表中选择的内容创建您的ajax呼叫。您希望使用数据库中的相同数据构建下拉列表,以便在选择india时,india的值与数据库中的pkid相同。

ajax调用将返回管道描述的状态集,然后您可以将其拆分为数组并抛入另一个下拉列表,所有这些都不会刷新页面。