2010-06-02 137 views
0

我通过这些主题解决了我的问题,但我认为我的问题有点不同。从选择框中填充两个选择框

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

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

我已经创建了一个通用的函数来填充使用jquery的选择框。

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

现在子类别选择框很容易填充在类别选择框的更改事件中,但如果子类别只有一个选项通过ajax填充,子类别的更改事件不会被触发,因为子类别中只有一个项目选择框。

我该怎么办?

请帮

回答

1

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

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

或者只是:

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

另一种方式要去在每个select的顶部有一个option这实际上是一个标题。例如:

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

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

+0

谢谢帕特里克:-) – 2010-06-02 16:16:45

+0

@Gaurav - 不客气。 :) – user113716 2010-06-02 16:23:37

1

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

感谢帕特里克给了空白选择选项

的想法所以不是添加一个空的通过PHP“选择选项”,我修改了populateSelectBox功能以这样一种方式,它会自动添加一个为响应设置空白“选择”选项,如此$element.append('<option value="">Select</option>');,以便用户可以触发更改事件。