2013-09-30 4 views
0

여러 입력이 비어 있지 않은 경우에만 '행 추가'링크를 사용할 수있게하려는 테이블에서 작업하고 있습니다. 나는이 경우 (Disable Submit button until Input fields filled in) 그러나 내 경우 엔 datepicker (jQuery UI datepicker) 입력이 비어 있어도 입력 값을 적용했다. datepicker는 값이 지정되었는지 여부에 관계없이 자동으로 값을 게시하는 곳을 읽습니다. 이것은 나의 기능의 목적을 무너 뜨린다.Datepicker는 비어 있음에도 불구하고 값이 있습니다.

<tbody> 
    <tr> 
     <td class="date"><input class="datepicker" name="date-01" value="" /></td> 
     <td class="hours"><input class="hours" name="hours-01" value="" /></td> 
     <td class="rate"><input class="rate" name="rate-01" value="60.00" /></td> 
     <td class="date-total"><input class="date-total" name="date-total-01" value="" /></td> 
     <td class="add-delete-row"> 
      <a href="#" class="delete-row" title="Delete row">Delete</a> 
      <a href="#" class="add-row" title="Add a row">Add Row</a> 
     </td> 
    </tr> 
</tbody> 

... 그리고 관련 JS : 나는 jsfiddle (jsfiddle http://jsfiddle.net/sheckyvansheck/4HPfe/27/)을 설정하지만의 일을 할 수있는 날짜 선택기를 얻을 수

// 1. Datepicker options/format: 
$('.datepicker').datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    dateFormat: "yy-mm-dd", 
}); // END Datepicker 

    checkRow(); 
    $('.hours-table').on('blur', 'input', checkRow); // same results using either keyup or change; apparently empty datepicker input has a value 
    }); 

function checkRow() { 
    //if ( $('input.datepicker').not(':empty') && 
    if ( $('input.datepicker').val().length > 0 && 
      $('input.hours').val().length > 0 && 
      $('input.rate').val().length > 0 && 
      $('input.date-total').val().length > 0 ) { 
     $('.add-row').show(); 
     alert ($('input.datepicker').val()); 
    } 
    else { 
     $('.add-row').hide(); 
    } 
} 

여기

내 마크 업입니다 물론 그것을 무가치하게 만든다.

의견을 보내 주시면 대단히 감사하겠습니다.

건배, svs

+1

이 http://jsfiddle.net/arunpjohny/m9wyd/1/ –

+0

엽기을 작동하는 것 같군 : 인체 공학적, 내 checkRow 기능은 다음과 같은 선택이 필요합니다. 코드 스 니펫을 확인하는 것은 로컬 서버에서 실행중인 것과 동일하며 여전히 실패합니다. 당황 스럽네. – shecky

+0

값을 비우지 않고 비활성화하는 것이 좋습니다 :'$ ('input.datepicker'). prop ('disabled', true);'. 이렇게하면 양식을 제출할 때 값을 전송하지 못하게됩니다. – xiankai

답변

0

DOH! 내 로컬 서버에서 작업 한 버전에는 '시간'테이블 앞에 오는 다른 datepicker 입력이 있습니다.

function checkRow() { 
if ($('.hours-table input.datepicker').val().length > 0 && ... 
관련 문제