基于下拉所选值的验证在jQuery中不起作用

时间:2019-08-08 05:49:38

标签: javascript jquery validation

我有一个附加的下拉菜单,其中包含以下选项。

<select class="custom-select" name="answer_datatype_id[]" id="answer_datatype_id1">
    <option value="1">Text</option>
    <option value="2">RadioButton</option>
    <option value="3">CheckBox</option>
    <option value="4">ListSingleSelection</option>  
    <option value="5">ListMultiSelection</option>
</select>

我所附的下拉代码为:

'<div class="form-group row">' +
  '<div class="col-md-4 mb_20">' +
     '<select class="custom-select"  name="answer_datatype_id[]" id="answer_datatype_id'+j+'">'+ options
      +'</select>' +
   '</div>' +
'</div>' +
'<div id="showdiv'+showdiv+'" class="showoptiondiv">' +
  '<div class="row">' +
   '<div class="col-md-12 mb_20">' +
      '<b>ADD OPTIONS</b>' +
    '</div>' +
    '</div>' +
   '<div class="form-group row">   ' +
      '<div class="col-md-4">' +
        '<input class="form-control" name="answer'+j+'[]" id="answers'+k+'" placeholder="OPTION 1">' +
          '<a class="showcategoryratings" id="add-option'+count+'" ><img src="'+img_url+'" alt=""></a>' +
     '</div>' +
   '</div>' +

这里j = 1,每次单击时递增。当我的下拉列表值为1时,我需要隐藏以下div

<div id="showdiv'+showdiv+'" class="showoptiondiv">

当我从下拉列表中选择非1的值时,我需要显示div并需要验证以下选项。

这是我的验证码

function showValidation(response) {
    var result = document.getElementsByTagName("input");
    var errTextboxClass = 'error';
    var optionss= 'Enter Answers.';
    var dropdownvalue=$( "#answer_datatype_id"+i+" option:selected" ).val();

    if(dropdownvalue == 1 || dropdownvalue == undefined) {
        break;
    } else {
        for (var j = 0; j < result.length; j++) {
            if($("#answer"+j).val()=='') {
                $('#answer'+j+' + span').html('');
                $('#answer'+j).after('<span class="' + errTextboxClass + '" style="color:#e03b3b">' + optionss+ '</span>'); 
                $('#answer'+j).focus();
            }

            if($("#answers"+j).val()=='') {
                $('#answers'+j+' + span').html('');
                $('#answers'+j).after('<span class="' + errTextboxClass + '" style="color:#e03b3b">' + optionss+ '</span>'); 
                $('#answers'+j).focus();
            }
        }
    }

隐藏/显示代码为

$("#showdiv"+showdiv).hide();

          $("#answer_datatype_id"+j).on("change",function() {
            var result= $(this).closest('.group').find(':selected').val();
            if(result==1){

             $(this).closest('.group').find(".showoptiondiv").hide();
          }else{

            $(this).closest('.group').find(".showoptiondiv").show();
          }
          });

但是现在,验证显示了我是否从下拉列表中选择了值1以外的选项。

0 个答案:

没有答案