2012-07-25 3 views
0

제 양식의 일부 jQuery 코드에 문제가 있습니다.jQuery 조건부 선택 문제

첫 번째 문제 : 나는 "시간"을 변경하면 그것을 필드 여기

http://jsfiddle.net/amarcinkowski/k7kKV/3/는 것입니다 :

if ($("#finish_day").val() > 4) { 
    $('#start').attr('', ''); 
} else { 
    $('#start, #end').not(this) 
     .children('option[value=' + this.value + ']') 
     .attr('selected', '') 
     .siblings().attr('disabled', true); 
} 

전체 예를 들어 당신이 여기에서 테스트 할 수 있습니다 : 모든 코드의 한 부분을 제외하고 잘 작동 자동으로 "도시"필드를 변경하고 나면 도시를 변경할 수 없습니다. 위의 코드를 자르면 City 필드가 올바르게 작동합니다.

두 번째 문제점 : "City1"옵션을 항상 활성화해야합니다 (이제는 "근무 시간"을 변경할 때 하나의 활성 옵션이 있고 다른 옵션은 비활성화 됨). 위의 코드는 다음과 같이 작동해야합니다. "총 일"필드의 값이 3보다 작은 경우 (예 : 3) "City2"필드의 값이 "City1"필드의 값과 같습니다 (City1 : Katowice = City2 : Katowice) , City2 필드의 다른 옵션은 사용할 수 없습니다.

도움을 주셔서 감사합니다.

+0

첫 번째 문제 - 해결은 - 옵션에서 "값이"동일했다. – Adrian

답변

0

나는 내 코드를 수정 :

if ($("#finish_day").val() < 4) { 
      $('#start, #end').not(this) 
       .children('option[value=' + this.value + ']') 
       .attr('selected', true) 
       .siblings().attr('disabled', true); 
} else { 
    $('#end').attr('disabled', false); 
} 

는 그것은 contition와 시티 2에서 항상 활성화 City1 옵션 및 변경 값을 보여줍니다. 한 가지 더 문제가 있습니다 - "else"섹션 (값이 3보다 큰 경우)을 변경하여 City2에 활성 상태의 모든 옵션 값을 표시하는 방법을 모르겠습니다.

0

그것은 당신이 원하는 것을 정확히 이해하기 어렵습니다,하지만 당신은 다른 문이를 시도 할 수 있습니다 :

$('#end option').attr('disabled', false);