【发布时间】:2011-02-03 20:05:51
【问题描述】:
我正在尝试使用 jQuery 取消选择选择选项元素。这是我的场景:
我有 3 个选择选项:
[ 选择 1 ]
[选择2]
[选择3]
场景: Select 1 预填充了来自 ajax 调用的数据。所以 Select 1 有 opt 1、opt 2、opt 3 等。
当您从 Select 1 中选择一个选项时,它会用数据填充 Select 2,当您从 Select 2 中选择时,它会填充 Select 3,依此类推。
根据您选择的内容,它会将这些 ":selected" 选项中的值放入一个名为 "url" 的变量中。
因此,如果您只选择“选择 1”:
url = '搜索/for/this/select1/'
如果您选择“选择 1”和“选择 2”
url = '搜索/for/this/select1/select2/
等等。
这是我编写 jQuery 代码的方式:
var url = 'search/for/this';
if(element1.is(':selected')) {
url += element1.val();
// makes url = 'search/for/this/select1val/';
if(element2.is(':selected')) {
url += element1.val();
// makes url = 'search/for/this/select1val/select2val/';
if(element3.is(':selected')) {
url += element1.val();
// makes url = 'search/for/this/selectval1/select2val/select3val/';
}
}
}
问题是,这要求我在选择了上一个选项后取消选择下一个选项,但由于有数据填写,似乎在通过":selected"条件时自动返回true检查上面的代码示例。关于如何完成此功能的任何想法?如果我没有把我的问题说清楚。请要求更多详细信息,我会添加它们。谢谢 -克里斯-
【问题讨论】:
-
每次url获取的element1的.val()是不是笔误?
-
这几行代码什么时候执行?我建议您应该在选择框的 onchange 事件上调用一个方法,然后执行一些 if else 逻辑。
标签: jquery html ajax html-select