是否可以使用add class函数为具有相同类的下拉列表创建更具体的选择器?

时间:2019-03-28 00:36:53

标签: javascript jquery jquery-selectors shopify

我正在设置几个下拉菜单,供用户使用Shopify应用程序(名为Infinite Options)的第三方Shopify应用程序绕过3个下拉菜单的限制,在Shopify平台上的Blended Joe网站上自定义自己的咖啡。使用当前布局,用户可以:

  1. 选择来源
  2. 选择该来源的烤肉
  3. 将其设为“混合/选择第二个选项”(选择此选项将显示一个隐藏的div,这将使用户能够完成他们选择的第二个“来源”的烘焙,并选择第一个和第二个混合的比例作为结论。 / li>

无限选项对所有下拉菜单都具有相同的选择类,但是它允许您创建一个类和一个名称元素以用于样式或选择器。

我的问题是,当我选择第一个原产地作为印度尼西亚后,它会影响“选择您的烘烤选择”(预期),但也会影响第二个“烘烤选择”。

是否可以使用addClass()函数指定我想要影响的下拉列表,或者是否可以指定我的选择器以使其针对正确的下拉列表?

我尝试创建一个使用name属性指定正确下拉列表的条件

  $("select.spb-productdescfont.spb-productoptiontextcolor.spb-productoptionbackground").change(function(){
  if ($('[name="properties[First Origin Choice]"]').val() == "Indonesia"){
    $("select.spb-productdescfont.spb-productoptiontextcolor.spb-productoptionbackground option[value = 'Light Roast']").hide()
  }else
    {
      $("select.spb-productdescfont.spb-productoptiontextcolor.spb-productoptionbackground option[value = 'Light Roast']").show()
    }

    if ($('[name="properties[First Roast Choice]"]').val() == "Light Roast"){
    $("select.spb-productdescfont.spb-productoptiontextcolor.spb-productoptionbackground option[value = 'Indonesia']").hide()
  }else
    {
      $("select.spb-productdescfont.spb-productoptiontextcolor.spb-productoptionbackground option[value = 'Indonesia']").show()
    }


  $("select.spb-productdescfont.spb-productoptiontextcolor.spb-productoptionbackground option:selected").attr('disabled', 'disabled').siblings().removeAttr('disabled');
});

//second Origin Selection
   $('select.spb-productdescfont.spb-productoptiontextcolor.spb-productoptionbackground [name="properties[Second Roast Choice]"]').change(function(){
  if ($('select.spb-productdescfont.spb-productoptiontextcolor.spb-productoptionbackground [name="properties[Second Origin Choice]"]').val() == 'Indonesia'){
    $("select.spb-productdescfont.spb-productoptiontextcolor.spb-productoptionbackground option[value = 'Light Roast']").hide()
  }else
    {
      $("select.spb-productdescfont.spb-productoptiontextcolor.spb-productoptionbackground option[value = 'Light Roast']").show()
    }
});

您将在codepen上看到完整的代码:https://codepen.io/jcssll/pen/eXwRzW 到目前为止,哪一种在Mac上无法正常工作,但是选择印度尼西亚原产地和删除“轻度烘烤”选项值的功能在我的Windows笔记本电脑上都能很好地工作。

0 个答案:

没有答案