2016-10-24 1 views
0

각 드롭 다운 목록에 'n'행을 넣는이 코드는 내 웹 페이지에 있습니다. 모든 드롭 다운에 값이 포함 된 경우에만 제출 버튼을 활성화하는 방법이 있습니까? 예를 들어 하나의 드롭 다운이 비어 있어도 버튼을 사용할 수 없어야합니다. 또한 첫 번째 클릭 후 제출 버튼을 사용 중지해야합니다.while 루프 내의 모든 드롭 다운이 null이 아닌 경우에만 제출 버튼을 활성화하는 방법

다음 코드를 시도했지만 작동하지 않습니다.

$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> 
+1

첫째, 대신'jQuery.prop'을 사용'attr' – Rayon

+0

https://jsfiddle.net/rayon_1990/dvphbf5f/1/ – Rayon

+0

의도적 밖에서 while 루프를 넣어 않았다 형태? – Beginner

답변

0

먼저 버튼을 비활성화하십시오. 제출 버튼은 의미합니다. 다음이 시도 : 모든

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"); 
    } 

}) 
관련 문제