检查值是否包含某些字符串

时间:2013-11-23 21:37:59

标签: jquery string

我想检查所选内容是否包含" color - "或"图像 - "并显示适当的。

http://codepen.io/anon/pen/jkxoE

3 个答案:

答案 0 :(得分:1)

我认为你真的要检查一些字符串是否包含给定的子字符串。您可以执行以下操作:

childValue.indexOf('color-');

如果子字符串存在,它将返回出现此子字符串的索引,否则返回-1。

答案 1 :(得分:1)

这个问题与jQuery没有任何关系,而是与JavaScript本身有关。 “最干净”的方法是使用startsWith-procedure扩展JavaScript中的String原型:

if (typeof String.prototype.startsWith != 'function') {
  String.prototype.startsWith = function (str){
    return this.slice(0, str.length) == str;
  };
}

接下来,您可以将新过程与所需的任何字符串一起使用:

if(childValue.startsWith ("color-")){
    //show pickColor div
}

如果您发现比较字符串开头的更好方法,您只需更改一次原型声明即可。这比你在其余代码中选择使用的任何内容都要容易得多。

<强>来源:

Javascript StartsWith

答案 2 :(得分:0)

也许使用这样的东西?

$(selectChild).on('change',function(){
    var childOption = $("option:selected", this);

    if (childOption.is('[value^=color]')) {
        //show pickColor div
    } else if (childOption.is('[value^=image]')) {
            //show Upload div
    }

});

http://api.jquery.com/attribute-starts-with-selector/