テキストボックスから整数を取得するコスト計算機を構築しています.2つの特定の数字の範囲内にある場合、フォームのコストフィールドにコストが渡されます。私はPHPを使用するつもりでしたが、ajax呼び出しを機能させるのに苦労しました.jQueryでこれまでに思いついたものは次のとおりです。
$("#message_wordcount").change(function() {
var p;
var service = $("#message_service").val();
var wc=parseInt($("#message_wordcount").val(), 10);
if($(service=="Critique")
{
if (wc<="1200") {
var p=2.5;
} else if (wc>"1200" && wc<="2500") {
var p=5;
} else if (wc>"2500" && wc<="4000") {
var p=10;
} else if (wc>"4000" && wc<="6500") {
var p=15;
} else if (wc>"6500" && wc<="8000") {
var p=20;
} else if (wc>"8000" && wc<="12000") {
var p=25;
} else if (wc>"12000" && wc<="16000") {
var p=30;
} else if (wc>"16000" && wc<="20500") {
var p=35;
} else if (wc>"20500" && wc<="22500") {
var p=40;
} else if (wc>"22500" && wc<="25500") {
var p=45;
} else if (wc>"25500" && wc<="27000") {
var p=50;
} else if (wc>"27000" && wc<="29999") {
var p=55;
} else if (wc>"29999" && wc<="33600") {
var p=60;
} else if (wc>"33600" && wc<="36100") {
var p=65;
} else if (wc>"36100" && wc<="38700") {
var p=70;
} else if (wc>"38701" && wc<="40700") {
var p=75;
} else if (wc>"40700" && wc<="42700") {
var p=80;
} else if (wc>"42700" && wc<="45000") {
var p=85;
} else if (wc>"45000" && wc<="48000") {
var p=90;
} else if (wc>"48000" && wc<="49500") {
var p=95;
} else if (wc>"49500" && wc<="52000") {
var p=100;
} else if (wc>"52000" && wc<="54500") {
var p=105;
} else if (wc>"54500" && wc<="57000") {
var p=110;
} else if (wc>"57000" && wc<="59999") {
var p=115;
} else if (wc>"59999" && wc<="63000") {
var p=120;
} else if (wc>"63000" && wc<="68000") {
var p=125;
} else if (wc>"68000" && wc<="72000") {
var p=130;
} else if (wc>"72000" && wc<="76000") {
var p=135;
} else if (wc>"76000" && wc<="79999") {
var p=140;
} else if (wc>"79999" && wc<="85999") {
var p=145;
} else if (wc>"85999" && wc<="92000") {
var p=150;
} else if (wc>"92000" && wc<="99999") {
var p=155;
} else if (wc>"99999" && wc<="105000") {
var p=160;
} else if (wc>"105000" && wc<="110000") {
var p=170;
} else if (wc>"110000" && wc<="115000") {
var p=180;
} else if (wc>"115000" && wc<="120000") {
var p=190;
} else if (wc>"120000" && wc<="125000") {
var p=200;
} else if (wc>"125000" && wc<="130000") {
var p=210;
} else if (wc>"130000" && wc<="135000") {
var p=220;
} else if (wc>"135000" && wc<="139999") {
var p=230;
} else if (wc>"139999" && wc<="150000") {
var p=240;
} else if (wc>"150000" && wc<="159999") {
var p=245;
} else if (wc>"159999" && wc<="170000") {
var p=250;
} else if (wc>"170000" && wc<="180000") {
var p=260;
} else if (wc>"180000" && wc<="185000") {
var p=270;
} else if (wc>"185000" && wc<="192000") {
var p=280;
} else if (wc>"192000" && wc<="199999") {
var p=290;
} else if (wc>"199999" && wc<="250000") {
var p=300;
}
$("#message_cost").val(p);
}
});
そして、ここに私のマークアップがあります:
<form action="<?php the_permalink(); ?>" method="post">
<p><label for="name">Name: <span>*</span> <br><input type="text" name="message_name" value="<?php echo esc_attr($_POST['message_name']); ?>"></label></p>
<p><label for="message_email">Email: <span>*</span> <br><input type="text" name="message_email" value="<?php echo esc_attr($_POST['message_email']); ?>"></label></p>
<p><label for="message_service">Service: <span>*</span><br><select name="message_service"><option value="<?php echo esc_attr($_POST['message_service']); ?>Critique">Critique</option>
<option value="<?php echo esc_attr($_POST['message_service']); ?>Standard Edit">Standard Edit</option>
<option value="<?php echo esc_attr($_POST['message_service']); ?>Comprehensive">Comprehensive</option>
</select></label></p>
<p><label for="message_wordcount">Word Count: <span>*</span> <br><input id="message_wordcount" type="text" name="message_wordcount" value="<?php echo esc_attr($_POST['message_wordcount']); ?>"></label>   <a href="#" id="cC">Calculate Cost</a></p>
<p><label for="message_cost">Total Cost: <br><input id="message_cost" type="text" name="message_cost" value="<?php echo esc_attr($_POST['message_cost']); ?>" readonly></label></p>
<p><label for="message_text">Message: <span>*</span> <br><textarea type="text" name="message_text"><?php echo esc_textarea($_POST['message_text']); ?></textarea></label></p>
<p><label for="message_human">Human Verification: <span>*</span> <br><input type="text" style="width: 60px;" name="message_human"> + 3 = 5</label></p>
<input type="hidden" name="submitted" value="1">
<p><input type="submit"></p>
</form>
ただし、wordcount ボックスが変更されても何も起こらないようです。関数をフォームに統合する前に価格を返すことができました。
助けていただければ幸いです、ありがとう