如果形式多个选择值是euals零

时间:2016-01-19 17:26:41

标签: javascript jquery if-statement select

我有多个表单,分别有一个,两个,三个html选择。我只想要简单的代码,如果表单选择选择的值等于零,那么console.log“请选择顺序”。以下是我正在处理的脚本。

$('form').submit(function(event){
    event.preventDefault();

    var dataitem = $(this).attr('data-item');

    if (dataitem == 1) {
        console.log(dataitem);
        var $myform = $(this),
            flavour1    =   $myform.find( "select[name='flavour1']" ).val(),
            drink   =   $myform.find( "select[name='drink']" ).val();
            console.log("Flavour :" + flavour1 + ", Drink :" + drink);
    } else if (dataitem == 2) {
        console.log(dataitem);
        var $myform = $(this),
            flavour1    =   $myform.find( "select[name='flavour1']" ).val(),
            flavour2    =   $myform.find( "select[name='flavour2']" ).val(),
            drink   =   $myform.find( "select[name='drink']" ).val();
            console.log("Flavour1 :" + flavour1 + ", Flavour2 :" + flavour2 + ", Drink :" + drink);
    } else {
        console.log(dataitem);
        var $myform = $(this),
            flavour1    =   $myform.find( "select[name='flavour1']" ).val(),
            flavour2    =   $myform.find( "select[name='flavour2']" ).val(),
            flavour3    =   $myform.find( "select[name='flavour3']" ).val(),
            drink   =   $myform.find( "select[name='drink']" ).val();
            console.log("Flavour1 :" + flavour1 + ", Flavour2 :" + flavour2 + ", Flavour3 :" + flavour3 + ", Drink :" + drink);
    }

});

请指教,因为我被困在这个选择点。如果每个选择值== 0。 感谢

2 个答案:

答案 0 :(得分:0)

如果您有多个类似的组件可以使用:

$myform.find("select")

这将为您提供表单中的所有“选择”元素。然后你可以使用以下方法逐个找到值:

$myform.find("select").each(function(index, value){
     var valSelec = $(this).val();
     ///Make your if
})

答案 1 :(得分:0)

我创建了一个函数:BUILD_NUMBER,搜索所有表单选择并验证所选的选项是否为空,如果为true则返回false。

示例:

validateSelect()
$("form").submit(function(e) {
  e.preventDefault();

  if (validateSelect()) {
    console.log('All are filled valid');
  } else {
    console.log('Invalid');
  }

});

function validateSelect() {
  var fleg = true;
  $.each($('select option:selected'), function(key, val) {
    if (val.value.length < 1) {
      fleg = false;
    }
  });
  return fleg;
}