使用jQuery根据另一个选择框创建一个选择框(是)

时间:2014-12-09 02:44:54

标签: javascript jquery html

我的测试网站中有我的产品名为缩写,如下所示

http://dev.mommyjewelry.com/initials/sideways-initial-necklace.html

现在,如果您进入该页面并选择多少金色首字母,您将根据选择在下方显示更多选择框。所以如果我选择2个首字母,我会在下面的2个选择框下面显示我们必须选择首字母的字母

现在我正在寻找这两个选择框,例如在这个例子中是必需的。所以,如果我们点击添加到购物车按钮,则显示一个弹出窗口,说明需要这两个选择框。并阻止前往购物车。

因此,如果我选择多少金首字母为3,那么显示的3个选择框就是我想要制作的那些。

我知道当我有一个文本框而不是选择框时,我可以使用下面的代码

$("#product_form").submit(function(evt) {
    var target = $("#yellow-gold").val(); var target1 = $("#white-gold").val();
    if(target == "initial-0" && target1=="initial-0"){
      alert("You must select either White Gold or Yellow Gold Necklace.");
      evt.preventDefault();
    }else{
    var number_of_charms = $("#yellow-gold").attr("selectedIndex") + 0;
     var number_of_gold = $("#white-gold").attr("selectedIndex") + 0;
     var fields_not_empty = $(":text[name^=Product_Attribute]:visible[value]").length;
     if(number_of_charms >  fields_not_empty) {
          $(".error").show();
          alert("You left one or more required fields empty. Please check your selection above and adjust as needed.");
          evt.preventDefault();
     }else if(number_of_gold >  fields_not_empty) {
          $(".error").show();
          alert("You left one or more required fields empty. Please check your selection above and adjust as needed.");
          evt.preventDefault();
     }
    }
});

从上面的代码中我可以看到,我可以使用此行在文本框中显示消息

var fields_not_empty = $(":text[name^=Product_Attribute]:visible[value]").length;

但是如果在选择框的情况下如何使用它?

1 个答案:

答案 0 :(得分:0)

试试这个:

$("div[id^='sideways-yellow']:visible select[name^=Product_Attribute] option:selected[value='select-letter']").length

这可以为您提供黄金首字母未选择选项的数量(选项值为select-letter时)

如果您需要获得白色,可以将sideways-yellow更改为sideways-white

对于之前的回答感到抱歉,我没有意识到我没有得到可见的答案。