2016-07-06 18 views
0

https://jsfiddle.net/6k6ehnn2/jQueryの - 2つの値を比較し、表示または非表示のdiv

こんにちは、値が以上のdiv .boletoを表示1000.00関数に等しいが、表示されない場合、私は、作成する必要があり ... 2つの弦を比較すると間違っていますか?

<span class="valor">R$ 200,00</span> 
<div class="boleto">pagamento em boleto</div>  
$(function(){ 
    var valorMinimoBoleto = '1000,00'; 
    var valorTratado = $(".valor").html().replace('R$ ',''); 
    var valorBoleto = valorTratado; 
    if (valorBoleto >= valorMinimoBoleto) {   
     console.log('valor exibe boleto'); 
    } else { 
     $('.boleto').hide(); 
     console.log('valor não exibe boleto'); 
    };  
}); 
+0

Javascriptの小数点はドットで、カンマではありません。 – derloopkat

答えて

2

そのためには、両方のvalorMinimoBoletovalorBoletoはとても条件が存在し、あなたの動作しない場合は、文字列です。

だから、最初LinkinTED 22は、我々はまた、このように、代わりにif..elsetoggle()機能を使用することができると述べた

$(function(){ 
 
    var valorMinimoBoleto = 100000; 
 
    var \t valorTratado = $(".valor").html().replace('R$ ',''); 
 
    var \t valorBoleto = Number(valorTratado); 
 
    \t if (valorBoleto >= valorMinimoBoleto) { 
 
    \t \t console.log('valor exibe boleto'); 
 
    \t } else { 
 
    \t \t $('.boleto').hide(); 
 
    \t \t console.log('valor não exibe boleto'); 
 
    \t };  
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span class="valor">R$ 200,00</span> 
 
<div class="boleto">pagamento em boleto</div>

ように、このようnumber()メソッドを使用して数に変換:

$(function(){ 
 
    var valorMinimoBoleto = 100000; 
 
    var \t valorTratado = $(".valor").html().replace('R$ ',''); 
 
    var \t valorBoleto = Number(valorTratado); 
 
    \t $('.boleto').toggle(valorBoleto >= valorMinimoBoleto); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span class="valor">R$ 200,00</span> 
 
<div class="boleto">pagamento em boleto</div>

はそれが役に立てば幸い:)

+1

これ以外にも最後のものの代わりに、次のように['toggle(statement)'](http://api.jquery.com/toggle/#toggle-display)を使うことができます: '$( '。boleto') .toggle(valorBoleto> = valorMinimoBoleto); ' – LinkinTED

+0

@LinkinTEDそれを男に教えていただきありがとうございます。あなたから新しいテクニックを学んだ – Thinker

0

あなたがここに二つの文字列if (valorBoleto >= valorMinimoBoleto)

を比較しているあなたは、彼らが数値的に比較することができる前に、最初にそれらを解析する必要があります。

例:

var valorMinimoBoleto = '1000,00'; 
    var valorTratado = $(".valor").html().replace('R$ ',''); 
    var valorBoleto = valorTratado; 

    var parsedValorMinimoBoleto = parseFloat(valorMinimoBoleto); 
    var parsedValorBoleto = parseFloat(valorBoleto); 


    if (parsedValorBoleto >= parsedValorMinimoBoleto) {   
     console.log('valor exibe boleto'); 
    } else { 
     $('.boleto').hide(); 
     console.log('valor não exibe boleto'); 
    };  
+0

ありがとうございました。すべてのソリューションは素晴らしいです。 –

0

は、我々は文字列とは対照的に、数、私はあなたが小数点

ため .ではなく ,を使用する必要が考えても '年代が不要になりたいです

コードは動作していますが、そのコードはもう一度番号が大きくなります。

$(function() { 
 
    var valorMinimoBoleto = 1000.00; 
 
    var valorTratado = $(".valor").html().replace('R$ ', '').replace(',', '.'); 
 
    var valorBoleto = valorTratado; 
 
    if (valorBoleto >= valorMinimoBoleto) { 
 
    console.log('valor exibe boleto'); 
 
    } else { 
 
    $('.boleto').hide(); 
 
    console.log('valor não exibe boleto'); 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span class="valor">R$ 200,00</span> 
 
<div class="boleto">pagamento em boleto</div>

$(function() { 
 
    var valorMinimoBoleto = 1000.00; 
 
    var valorTratado = $(".valor").html().replace('R$ ', '').replace(',', '.'); 
 
    var valorBoleto = valorTratado; 
 
    if (valorBoleto >= valorMinimoBoleto) { 
 
    console.log('valor exibe boleto'); 
 
    } else { 
 
    $('.boleto').hide(); 
 
    console.log('valor não exibe boleto'); 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span class="valor">R$ 1200,00</span> 
 
<div class="boleto">pagamento em boleto</div>

これはあなたが探しているものであると思います。

関連する問題