2009-10-14 6 views
0

기본적으로 내가 실행하는 foxycart 설정을 해킹하고 기본적으로 특정 배송 옵션을 숨길 필요가 있습니다. 페이지의 몇 가지 항목이 존재해야합니다 ...자바 스크립트 및 jquery에서 IF 문이 잘못되었습니다.

1) 해당 $ value! = 미국 (이것은 동적으로 당신을 보여주는 목적으로 텍스트 입력에서하지만 난 그것을 여기에 정적 변수
2) 수 '.fc_cart_item가'.fc_cart_item_quantity '에서 한 번만
3) 텍스트 만 1
하고 있습니다 발생을했습니다
4) #fc_cart_table의 텍스트에 Xyz 또는 Zyx가 포함되어 있음

여기에서 i 내가 예상 한대로 나는 카트에서 XYZ 또는 ZYX을했을 때 (나는 물건을 발생하게 할 // 넣어 무엇이든) 좀 작동 내 문 ... 이제

var value = 'Australia'; 

if( 
    ( $value != 'United States' && $('.fc_cart_item').size() < 2 && $('.fc_cart_item_quantity').text() < 2 ) &&  
    ( $('#fc_cart_table:contains(\'Zyx\')') || $('#fc_cart_table:contains(\'Xyz\')') )  
) 

    { 

     // do stuff 

    } 

이 일하고 있었다 ...하지만이야 그것이 Xyz 또는 Zyx가 아닌 다른 것 일지라도 그것은 아직도 물건을하고있었습니다.

저는 PHP 배경에서 왔기 때문에 여기서 if 문을 올바르게 수행하는지 알 수 없습니다.

답변

1

예제의 if 문은 : contains 선택자가 if 문에 대해 안전하게 사용할 수있는 부울 값을 반환하지 않기 때문에 항상 true를 반환합니다. 대신이 시도 :

value = "Australia"; 

if((value != "United States" && $(".fc_cart_item").size() < 2 && 
    $(".fc_cart_item_quantity").text() < 2 ) && 
    ($("#fc_cart_table").is(":contains('Zyx')") || 
    $("#fc_cart_table").is(":contains('Xyz')") ) 
{ 

    // do stuff 
} 

BTW, 당신은 당신이 당신의 $ 값 구문으로 PHP 배경에서 걸 알 수 있습니다 ... :)

+0

그 축하에 대한 환호 – willdanceforfun

1

그것은 이러한 조건이 충족 "물건을"것 :


$value != 'United States' && $('.fc_cart_item').size() < 2 && $('.fc_cart_item_quantity').text() < 2 ) 

카트에는 ZYX 또는 XYZ가없는 경우에도 마찬가지입니다.

1

다음을 시도하십시오. 변수는 $value에 의해 액세스되지 않고 value에 의해 액세스됩니다. $('#fc_cart_table:contains(\'Zyx\')')도 확인하지 않아야합니다. 결과는 true로 평가 된 부울 값인 빈 배열입니다. 오히려 하나 $('#fc_cart_table:contains(\'Zyx\')').size()를 사용하거나 아래의 사용 :

var value = 'Australia'; 

if( 
    ( value != 'United States' && $('.fc_cart_item').size() < 2 && parseInt($('.fc_cart_item_quantity').text()) < 2 ) &&  
    ( $('#fc_cart_table').text().indexOf('Zyx') > -1 || $('#fc_cart_table').text().indexOf('Xyz') > -1 )  
) 
{ 
    // do stuff 
} 

/편집 : 나는 또한 단지 올바른 유형의 사용을 위하여 대한 parseInt() 문을 추가했다.

+0

감사합니다 MrMage. 코드가 적기 때문에 zdawg를 선택했습니다. 너도 잘 했어! – willdanceforfun

1

$을 제거한 후에 value을 제거하십시오. 그리고 parseInt() arround $('.fc_cart_item_quantity').text()을 입력하십시오.

+1

다른 답변에서 언급 한 것처럼 충분하지 않습니다. – MrMage

관련 문제