Jquery 当从下拉列表中选择的内容包含某个单词时显示div
我想做的是,当从下拉列表中选择一个必须包含字符串中某个单词时,使div淡入 到目前为止,我已经让它在做出选择之前立即出现在页面加载上,现在我有了它,尽管做出了选择,但它不会显示在哪里-请给我任何指针Jquery 当从下拉列表中选择的内容包含某个单词时显示div,jquery,Jquery,我想做的是,当从下拉列表中选择一个必须包含字符串中某个单词时,使div淡入 到目前为止,我已经让它在做出选择之前立即出现在页面加载上,现在我有了它,尽管做出了选择,但它不会显示在哪里-请给我任何指针 if($(“选择选项:选中[值*='tailboard'])){ 美元(“#tcanopy.towbar_req”).fadeIn(“慢”); } 拖车模型 带斜坡的GD64 GD64带尾板 GD84带坡道 GD84带尾板 带斜坡的GD85 GD85带尾板 带斜坡的P6e P6e带尾板 P6e家
if($(“选择选项:选中[值*='tailboard'])){
美元(“#tcanopy.towbar_req”).fadeIn(“慢”);
}
拖车模型
带斜坡的GD64
GD64带尾板
GD84带坡道
GD84带尾板
带斜坡的GD85
GD85带尾板
带斜坡的P6e
P6e带尾板
P6e家畜模型
带斜坡的P7e
P7e带尾板
P7e家畜模型
P8e带斜坡
P8e带尾板
要求(如果尾板*):
您需要在选择
下拉列表中添加一个onchange
事件,以便在选择选项时淡入:
函数更改选择(){
所选var=$(“选择选项:所选[value*='tailboard']”);
如果(选定。长度){
美元(“#tcanopy.towbar_req”).fadeIn(“慢”);
}
}
//检查页面加载
changeSelect()代码>
.towbar\u要求{
显示:无;
}
挑选
尾板1
其他一些文本
尾板文本123
淡入淡出
试试这个:您可以使用更改事件处理程序并选中选择框的值。如果它包含tailborad
,则显示div
$("select").on("change", function() {
var show = $(this).val().toLowerCase().indexOf("tailboard")!=-1;
if(show) {
$("#tcanopy .towbar_req").fadeIn("slow");
}
}}
您需要将change
事件侦听器附加到select,然后使用.indexOf()
检查所选选项值是否包含Tailboard
单词
速记:
$('select[name="trailermodel"]').on('change', function() {
$("#tcanopy .towbar_req").toggle($(this).val().indexOf("Tailboard") != -1);
});
$('select[name=“trailermodel”]”)。在('change',function()上{
var目标=$(“#tcanopy.towbar_请求”);
if($(this).val().indexOf(“尾板”)!=-1){
target.fadeIn(“慢”);
}否则{
目标。淡出(“缓慢”);
}
});代码>
拖车模型
带斜坡的GD64
GD64带尾板
GD84带坡道
GD84带尾板
带斜坡的GD85
GD85带尾板
带斜坡的P6e
P6e带尾板
P6e家畜模型
带斜坡的P7e
P7e带尾板
P7e家畜模型
P8e带斜坡
P8e带尾板
目标元素
首先,当下拉值更改时,您不指定要运行的代码。加载文档后(根据您对document.ready的评论),您所拥有的将运行一次。您需要将逻辑封装在适当的事件处理程序中,如下所示
$("select").on("change", function() {
if (RegExp(/tailboard/i).test($(this).val()) {
$("#tcanopy .towbar_req").fadeIn("slow");
}
else {
$("#tcanopy .towbar_req").fadeOut("slow");
}
});
这样,每次匹配$(“选择”)
的任何内容发生更改时,代码都将被执行。如果向页面添加更多的select元素,请记住这一点。您可能想给它一个ID,然后用它来选择它
其次,您的代码将在所选值中查找尾板
,但您的值中没有该值-它们有尾板
(大写t)
上面的代码使用正则表达式在值中查找tailboard
,但不区分大小写,因此应该可以解决您的问题
这里有一个有效的例子
注意:我加入了CSS来设置要切换的元素的初始状态
$(“选择”)。在(“更改”,函数()上{
//显示/隐藏尾板相关div
if(RegExp(/tailboard/i).test($(this.val())){
美元(“#tcanopy.towbar_req”).fadeIn(“慢”);
}
否则{
$(“#tcanopy.towbar_请求”).淡出(“慢”);
}
//显示/隐藏渐变相关div
if(RegExp(/ramp/i).test($(this.val())){
美元(“#tcanopy.ramp_req”).fadeIn(“慢”);
}
否则{
$(“#tcanopy.ramp_req”).淡出(“慢”);
}
});代码>
.towbar\u请求,
.ramp_需求{
显示:无;
}
拖车模型
带斜坡的GD64
GD64带尾板
GD84带坡道
GD84带尾板
带斜坡的GD85
GD85带尾板
带斜坡的P6e
P6e带尾板
P6e家畜模型
带斜坡的P7e
P7e带尾板
P7e家畜模型
P8e带斜坡
P8e带尾板
要求(如果尾板*):
要求(如果坡道*):
问题出在哪里?也请提供您的HTML代码。选择包含尾板的选项时不会发生任何情况(我希望它在.towbar_req div中消失)。下面的答案是猜测,基于您提供给我们的小信息。您需要发布相关的标记以及相关的代码。还有,你的脚本就是这个if
语句,还是还有更多的内容?@Archer这只是我现在添加的一个基本下拉列表,除了doc ready之外,脚本中没有其他内容。因此,你的脚本实际上是
然后是if
语句,然后是
?此外,您的标记不包含任何将使用$(“#tcanopy.towbar_req”)
选择的内容。不幸的是,仍然没有发生任何事情-如果可能的话,该选项包含的单词比尾板多?尾板
以大写字母t开头,我用小写字母编写。我们可以使用toLowerCase()
函数,因为这将捕获带有调用类型字母的尾板。请查看更新后的淡入淡出,即使在选择选项2时,淡入淡出仍保持不变?我没有放松对大小写敏感度的了解,因此感谢您,不幸的是,尽管Dreamweaver在这一行显示了语法错误:if(RegExp(/tailboard/I).test($(this).val()){忽略Dreamweaver-运行它并在浏览器控制台中查找错误。我首先这样做,在上面的同一行显示了一个错误-“未捕获的语法错误:意外标记{”对不起,我有一个输入错误-缺少结尾)
。我已经修复了它并添加了一个代码段谢谢你破解了它!现在我想知道怎么做