2016-10-03 12 views
0

私は2つのinputフィールドを持っています。 1つは隠しタイプです(私は今のところテキストタイプにしています)、それを動的に値にします。この値に依存して、私はその値でalertを表示し、他のinputフィールドの後にいくつかの特定の情報を表示します。入力フィールド値が変更されたときに関数を開始する - JQuery

たとえば、inputフィールドの値がtable_rate:38(値は空の場合もあります)とします。そして今、問題が始まります。 inputフィールドの値がtable_rate:23に変更されると、alertが表示され、もう1つのinputフィールドの後に情報が表示されます。しかし、それは動作しません。

<p class="form-row form-row form-row-wide address-field validate-required validate-postcode form-row-first woocommerce-validated" id="billing_postcode_field" data-o_class="form-row form-row form-row-wide address-field validate-required validate-postcode"> 
    <label for="billing_postcode" class=""> 
     Postnummer 
     <abbr class="required" title="påkrevet">*</abbr> 
    </label> 
    <input type="text" class="input-text " name="billing_postcode" id="billing_postcode" placeholder="Postnummer" value="" autocomplete="off"> 
</p> 

<input type="text" name="shipping_method[0]" data-index="0" id="shipping_method_0" value="table_rate:38" class="shipping_method"> 

HereフルJSFiddleを見ることができます:ここで

はあなたのHTMLできます。

どうすればこの問題を解決できますか?

ありがとうございました!

+0

問題はif文にあり、次のようにしてみてください:if(zone == 'table_rate:33')二重等号で動作します – rosuandreimihai

+0

あなたのコメントをありがとうが、これはうまくいきません。 –

答えて

0

setIntervalメソッドの変更を明示的にtriggerにする必要があります。

setInterval(function(){ 
    $('#shipping_method_0').val('table_rate:23'); 
    $('#shipping_method_0').trigger("change"); // after updating the input, trigger 'change' event 
}, 1000); 

Updated Fiddle

0

ねえ、私が言及したのと同様に、このjQueryの変更フィドルの下に見つけてください、それはあなたに

<script> 
$(document).ready(function(){  
$('.shipping_method').on('change', function() { 
alert("your value changed To " + this.value); 
}) 
}); 
</script> 
0

を支援を期待してみてください

if (zone == 'table_rate:38') { 
    $("#billing_postcode").after("<span id='contenttoshow'>Varene vil bli levert til:<br>" + 
     "Sped trans, " + 
     "Titangaten 11, " + 
     "1630 Gamle Fredrikstad<br></span>"); 
} 

https://jsfiddle.net/dLo472bs/13/

関連する問題