如何确定Javascript变量中是否包含某些字符

时间:2015-05-21 09:16:08

标签: javascript if-statement

我们有一个快速订购表格,其中包含产品代码(sku)并返回产品并输入数量为1。

我们想要发生的是任何以EN9开头的SKU,我们希望将数量设置为0.

我已经尝试过为自己解决这个问题,但似乎没有去哪里因为我有非常简单的javascript体验。

这是设置所有内容的代码

   var _parent = $j(this).parent().parent().parent();
    var _productid = $j(this).find('.prodid').val();
    var _sku = $j(this).find('.sku').html();
    var _name = $j(this).find('.name').html();
    var _price = $j(this).find('.pprice').val();
    var _temp_name = _name;

    _temp_name = _temp_name.replace(/(<([^>]+)>)/ig,"");

    _parent.find('.txt-sku').html(_sku);
    _parent.find('.txt-pcode').val(_temp_name);
    _parent.find('.txt-qty').val(1);
    _parent.find('.pname').html(_name);
    _parent.find('.pqty').html(_price);
    _parent.find('.btn-addcart').attr('alt', _productid);
    $j('#allid').val($j('#allid').val()+','+_productid);
    $j(this).parent().hide();
    _key = '';

我可以看到_parent.find('.txt-qty').val(1);将数量设置为1所以我假设我必须围绕这个包装一个IF语句。

我试过

    if ( _sku == ('EN9)){
        _parent.find('.txt-qty').val(1);}
else{
    _parent.find('.txt-qty').val(0);
}

但没有运气。所以我将-sku改为.sku,但仍然没有运气。如果有人可以提供帮助,我将不胜感激。

3 个答案:

答案 0 :(得分:4)

我会使用indexOf

这样的东西
ggplot(arrange(mdat,variable,desc(value)), aes(variable, value, fill=day)) + 
    geom_bar(stat="identity", position="stack")+coord_flip()

如果EN9在SKU中的任何位置,这会将您的数量设置为0.

如果你在开始时需要它,特别是检查indexOf为0的返回值(我认为应该有效)。

if ( _sku.indexOf('EN9') > -1) {
        _parent.find('.txt-qty').val(0);}
else{
    _parent.find('.txt-qty').val(1);
}

答案 1 :(得分:2)

您可以使用indexOf检查字符串是否以另一个字符串开头,然后相应地设置该值

var qty = _sku.indexOf('EN9') === 0 ? '0' : '1';

_parent.find('.txt-qty').val(qty);

答案 2 :(得分:2)

   if ( _sku == ('EN9)){

这是一个搞砸的声明,这可以从这里缺乏明智的色彩来证明。 :)

您想要检查_sku是否以EN9开头。你可以通过检查前3个字符是否等于:

来做到这一点
if (_sku.slice(0,3) == 'EN9') {}