首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取包含文本中特定单词的选定元素- jquery

获取包含文本中特定单词的选定元素- jquery
EN

Stack Overflow用户
提问于 2012-09-20 16:16:35
回答 4查看 2.3K关注 0票数 1

我想检查所选项目是否包含特定的单词。例如:

代码语言:javascript
复制
  <select name='project_type' id='type'>
  <option value='1'>Interpretation - S</option>
  <option value='2'>Interpretation - K</option>
  <option value='5'>Editing</option>
  <option value='7'>Translation</option>
  </select>

Jquery:

代码语言:javascript
复制
<script type="text/javascript">
$(document).ready(function(){

        //Hide div w/id extra
       $("#work1").show();
       $("#work2").hide();
        // Add onclick handler to checkbox w/id selected
       $("#type").live('click', function(){

        // If checked
        if (!$("#type:selected").text(contains('interpretation')))
        {
            //show the hidden div
            $("#work1").show();
                    $("#work2").hide();
        }
        else    if ($("#type:selected").text(contains('interpretation')))
        {
            //otherwise, hide it
            $("#work2").show();
                    $("#work1").hide();
        }
      });

    });
</script>

我需要得到所选的元素,其中包含‘解释’的文本(我想所有的元素包含该词)。我做了这样的事情:$("#type:selected").text(contains('interpretation')),但不起作用。有谁能帮上忙吗?

EN

回答 4

Stack Overflow用户

发布于 2012-09-20 16:21:42

代码语言:javascript
复制
$('#type').change(function() {
    if ($(this).find(':selected').text().indexOf('Interpretation') > -1) {
        alert('selected value contains interpretation');    
    }
});​

http://jsfiddle.net/HyG6D/

票数 2
EN

Stack Overflow用户

发布于 2012-09-20 16:22:03

尝试:

代码语言:javascript
复制
index = $("#type:selected").text().indexOf('interpreatation');
if(index == -1)
    //Show
else
    //Hide

JavaScript没有任何名为contains的函数,一个已知的变通方法是检查特定短语或单词的索引。如果它不存在,则返回-1。

编辑:更改问题代码中的隐藏/显示。

票数 2
EN

Stack Overflow用户

发布于 2012-09-20 16:23:01

因为‘work.The’是你的select标签的id,你的选择器不会在:selected标签上,伪选择器需要在option标签上,而不是在select标签上。在id='type‘的select标记中查找选定的选项标记,如下所示:

代码语言:javascript
复制
!$("#type option:selected").text(contains('interpretation')){ ...

请参阅:http://api.jquery.com/selected-selector/

“:选定的选择器适用于<option>元素...”

更新:我没有注意到您的公式没有正确使用.contains

.contains()测试一个DOM元素是否包含另一个DOM元素。因此,将我上面关于选择器的建议与Zerkim的解决方案结合起来,可以得出以下结论:

代码语言:javascript
复制
!$("#type option:selected").text().indexOf('Interpretation') > -1)

...for你的情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12508598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档