2012-08-07 5 views
1

저는 작은 양식을 가지고 있습니다. 모든 라디오 버튼을 모두 선택하면 전송 버튼을 활성화하고 싶습니다.라디오 버튼을 선택하면 제출 버튼을 활성화해야합니다.

은 아래에있는 내 코드 HTML

<form action="#" id="form1" method="post"> 
       <ul> 
        <li> 
         <h3>Here’s what I want:<strong class="result1"></strong></h3> 
         <div> 
         <span><input type="radio" value="Cash Back rewards" name="want" id="01" /><label for="01">Cash Back rewards</label></span> 
         <span><input type="radio" value="Travel rewards" name="want" id="02" /><label for="02">Travel rewards</label></span> 
         <span><input type="radio" value="Gas rewards" name="want" id="03" /><label for="03">Gas rewards</label></span> 
         <span><input type="radio" value="Shopping rewards" name="want" id="04" /><label for="04">Shopping rewards</label></span> 
        </div> 
        </li> 

        <li> 
         <h3>Here’s my credit story: <strong class="result2"></strong></h3> 
         <div> 
         <span><input type="radio" value="I’m new to credit" name="story" id="05" /><label for="05">I’m new to credit</label></span> 
          <span><input type="radio" value="I pay my bills on time" name="story" id="06" /><label for="06">I pay my bills on time</label></span> 
         <span><input type="radio" value="I’ve had credit issues in the past" name="07" id="issues" /><label id="07">I’ve had credit issues in the past</label></span> 
         </div> 
        </li> 

        <li> 
         <h3>Here’s what I carry:</h3> 
         <span><input type="radio" value="I have a credit card with a good record" name="carry" id="08" /><label for="08">I have a credit card with a good record</label></span> 
         <span><input type="radio" value="I don’t have a credit card with a good record" name="carry" id="09" /><label for="09">I don’t have a credit card with a good record</label></span> 

        </li> 
       </ul> 
       <input type="submit" value="" name="" class="find" /> 
       </form> 

내가 나에게 알려 주시기 바랍니다 자바 스크립트 약할 수 있습니다.

li이 수정되지 않으면 동적으로 생성되므로 추가 작업이 필요합니다. 기본적으로 모든 li는 ​​하나의 quetion이며 라디오 버튼은 옵션입니다. 그래서 질문은 동적으로 생성 될 수 있습니다. 그 트릭을 할 것 같은

+1

이 질문과 이전 질문 사이에 주목할만한 차이가 있습니까? – undefined

+0

[제출 버튼을 활성화해야 함] 중복 가능 (http://stackoverflow.com/questions/11840122/need-to-enable-submit-button) –

답변

3

뭔가가 해결되지 :

$('#form1 :radio').click(function() { 
    var disabled = $('#form1 li').filter(function() { return $(':radio:checked', this).length == 0; }).length > 0; 
    $('#form1 .find').prop('disabled', disabled); 
}); 

이것은 당신의 제출 버튼을 누르면 페이지가로드로 사용할 수 있다고 가정을 옵션이 선택 될 때 비활성 상태는 변화하기 때문이다. 물론 DOMReady (같은 경우에는 리스너 함수를 추출)에서 동일한 검사를 수행 할 수 있지만로드하는 동안 수동으로 마크 업을 설정하는 것이 좋습니다. 어떠한 요소가 있는지

Demo

disabled 변수는 필터 기준 맞는 것들만으로 감소되는 형태로 모든 li 요소 선택 "아니오 라디오 버튼을 선택 함유하지 않는"을 확인하여 설정된 감소 된 컬렉션에.

1.6보다 작은 jQuery 버전을 사용하는 경우 .prop 대신 .attr을 사용하여 사용 중지 된 상태를 설정하십시오.

관련 문제