You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写jQuery条件:判断另一下拉框选中项文本(非值)含指定内容

解决jQuery下拉框文本包含判断的问题

我来帮你修正这个条件判断逻辑!你当前的代码有个关键问题:jQuery选择器返回的对象永远是真值,哪怕没有匹配到任何元素,所以不管目标下拉框的选中内容是什么,alert都会触发。而且你的写法是检查整个下拉框是否包含"Bye"文本(所有选项里只要有就会匹配),但我们需要的是当前选中选项的文本是否包含指定字符串。

修正后的代码

$(".Selected_Two").change(function () {
    // 定位到同一父容器内的目标下拉框
    const targetDropdown = $(this).closest('.div-block').find('.Selected');
    // 获取下拉框当前选中选项的文本内容
    const selectedOptionText = targetDropdown.find(':selected').text();
    // 判断文本是否包含"Bye"
    if (selectedOptionText.includes("Bye")) {
        alert('Bye');
    }
});

关键细节说明

  • 我们用.find(':selected')精准获取下拉框的选中选项,再通过.text()拿到它的文本内容,而不是检查整个下拉框的所有选项。
  • 使用原生的includes()方法判断字符串包含关系,简洁直观。如果需要兼容IE这类旧浏览器,可以换成indexOf写法:
    if (selectedOptionText.indexOf("Bye") !== -1) {
        alert('Bye');
    }
    
  • 原代码的$('.Selected:contains("Bye")')逻辑错误:它会匹配所有包含"Bye"文本的.Selected下拉框(哪怕选中的不是这个选项),而且jQuery对象在条件判断中始终为真,导致判断失效。

内容的提问来源于stack exchange,提问作者John Siniger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:45:16