【问题标题】:How to enable submit button only if all drop downs inside a while loop are not null仅当while循环内的所有下拉菜单都不为空时如何启用提交按钮
【发布时间】:2016-10-24 09:29:58
【问题描述】:

我的网页中有这段代码,它在每行中放置了一个带有下拉列表的“n”行。只有当所有下拉菜单都包含一个值(即)即使一个下拉菜单为空时,按钮也不应该启用,是否有办法启用提交按钮。另外,我希望在第一次单击后禁用提交按钮。

我尝试了以下代码,但不起作用。

$rowIndex = 0;
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
<form>
    <div>
        <select name = error_type id='error_type$rowIndex' class='picker'>
            <option disabled selected value> -- select an option -- </option>
            <option value=2_Stage_Error>2_Stage_Error</option>
            <option value=BG_Error>BG_Error</option>
        </select>
    </div>
    $rowIndex++;
    }
    <input type='submit' value='SUBMIT' id='submit' onclick=report_submit()disabled
            = true />
</form>

JS

  <script type= "text/javascript">
$(function() {
  $('.picker').on('change', function() {
    var $sels = $('.picker option:selected[value=""]');
    $("#submit").attr("disabled", $sels.length > 0);
  }).change();
});
</script>

【问题讨论】:

  • 首先,用jQuery.prop代替attr
  • 您是否故意将您的 while 循环放在表单之外?
  • @NewbeeDev 是的。我正在根据某些过滤器从数据库中提取数据,我会通过下拉列表添加一些数据并将其插入另一个表中
  • @Rayon 感谢您的提琴,但是该代码适用于正常的单独下拉菜单,当我将类作为

标签: javascript html


【解决方案1】:

在选择语句上使用required,它指定用户在提交表单之前需要选择一个值。 http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_select_required

【讨论】:

    【解决方案2】:

    首先禁用按钮。我的意思是提交按钮。 然后试试这个:

    function checkAllHasValue(){
       $(".picker").each(function(){
       var elem = $(this);
       if(elem.val()+"" == "undefined"){
         return false;
       }
    
    })
      return true;
    }
    
    $(".picker").on("change",function(){
       if(checkAllHasValue){
         $("submitbutton").removeAttr("disabled");
       }
    
    })
    

    【讨论】:

      猜你喜欢
      • 2012-11-28
      • 1970-01-01
      • 2021-02-11
      • 1970-01-01
      • 2016-08-17
      • 1970-01-01
      • 2011-03-25
      • 2016-06-21
      • 2018-02-27
      相关资源
      最近更新 更多