从选择框中填充两个选择框

时间:2010-06-02 15:26:28

标签: javascript-events jquery populate

我通过这些主题来解决我的问题,但我认为我的问题有点不同。

我的表单中有3个选择框。命名为“类别”,“子类别”,“主题”。

从子类别的选择填充子类别,从子类别选择框中选择主题。

我创建了一个通用函数,用于使用jquery填充选择框。

我在父选择框的更改事件上调用该函数(populateSelectBox)。

现在可以在类别选择框的更改事件中轻松填充子类别选择框,但是如果子类别只通过ajax填充了一个选项,则子类别的更改事件不会被触发,因为只有一个项目在子类别选择框。

在这种情况下我该怎么做?

请帮忙

2 个答案:

答案 0 :(得分:1)

您可以测试收到的选项数量,如果只有一个,请手动触发change事件:

$('#mySubCategorySelect').trigger('change');

或只是:

$('#mySubCategorySelect').change();

另一种方法是在每个option的顶部放置一个select,它实际上是一个标题。类似的东西:

<select>
    <option>Please choose a category</option>
    <option>some option</option>
</select>

这将要求用户选择一个选项,即使只有一个选项存在。

答案 1 :(得分:1)

发布此答案,因为我只需要在第二个选择框的更改事件中填充第三个选择框。

感谢patrick提供了空白选择选项的想法

因此,我没有通过PHP添加一个空的“选择选项”,而是修改了我的populateSelectBox函数,以便自动为响应添加一个空白的“select”选项,就像这样{ {1}}以便用户可以触发更改事件。