私は主にPHPで動作し、ちょうどjavascriptで再生を開始しました。私は州のドロップダウンが選択されると、2つの隠された入力フィールドを更新するフォームを持っています。 1つはドル値で、もう1つはドロップダウンから送信された値です。ドロップダウンに基づく隠れた入力を更新する
私はこれを使用していますが、それを行うためのよりエレガントな方法があると確信しています。いくつかの冗長性を排除するためのガイダンスは素晴らしいでしょう。
<script type="text/javascript">
function changeHiddenInput(objDropDown) {
if (document.getElementById('myselect').value === "X") {
var objHidden = document.getElementById("amount");
objHidden.value = 2600;
$('#customButton').attr('disabled', 'disabled');
$('#customButton2').attr('disabled', 'disabled');
}
if (document.getElementById('myselect').value === "AB") {
var objHidden = document.getElementById("amount");
objHidden.value = <?php echo getFees('AB', 'sprice', $price); ?>;
var objHidden2 = document.getElementById("province");
objHidden2.value = "AB";
$('#customButton').removeAttr('disabled');
$('#customButton2').removeAttr('disabled');
}
if (document.getElementById('myselect').value === "BC") {
var objHidden = document.getElementById("amount");
objHidden.value = <?php echo getFees('BC', 'sprice', $price); ?>;
var objHidden2 = document.getElementById("province");
objHidden2.value = "BC";
$('#customButton').removeAttr('disabled');
$('#customButton2').removeAttr('disabled');
}
if (document.getElementById('myselect').value === "MB") {
var objHidden = document.getElementById("amount");
objHidden.value = <?php echo getFees('MB', 'sprice', $price); ?>;
var objHidden2 = document.getElementById("province");
objHidden2.value = "MB";
$('#customButton').removeAttr('disabled');
$('#customButton2').removeAttr('disabled');
}
if (document.getElementById('myselect').value === "NB") {
var objHidden = document.getElementById("amount");
objHidden.value = <?php echo getFees('NB', 'sprice', $price); ?>;
var objHidden2 = document.getElementById("province");
objHidden2.value = "NB";
$('#customButton').removeAttr('disabled');
$('#customButton2').removeAttr('disabled');
}
if (document.getElementById('myselect').value === "NL") {
var objHidden = document.getElementById("amount");
objHidden.value = <?php echo getFees('NL', 'sprice', $price); ?>;
var objHidden2 = document.getElementById("province");
objHidden2.value = "NL";
$('#customButton').removeAttr('disabled');
$('#customButton2').removeAttr('disabled');
}
if (document.getElementById('myselect').value === "NS") {
var objHidden = document.getElementById("amount");
objHidden.value = <?php echo getFees('NS', 'sprice', $price); ?>;
var objHidden2 = document.getElementById("province");
objHidden2.value = "NS";
$('#customButton').removeAttr('disabled');
$('#customButton2').removeAttr('disabled');
}
if (document.getElementById('myselect').value === "ON") {
var objHidden = document.getElementById("amount");
objHidden.value = <?php echo getFees('ON', 'sprice', $price); ?>;
var objHidden2 = document.getElementById("province");
objHidden2.value = "ON";
$('#customButton').removeAttr('disabled');
$('#customButton2').removeAttr('disabled');
}
if (document.getElementById('myselect').value === "PE") {
var objHidden = document.getElementById("amount");
objHidden.value = <?php echo getFees('PE', 'sprice', $price); ?>;
var objHidden2 = document.getElementById("province");
objHidden2.value = "PE";
$('#customButton').removeAttr('disabled');
$('#customButton2').removeAttr('disabled');
}
if (document.getElementById('myselect').value === "QC") {
var objHidden = document.getElementById("amount");
objHidden.value = <?php echo getFees('QC', 'sprice', $price); ?>;
var objHidden2 = document.getElementById("province");
objHidden2.value = "QC";
$('#customButton').removeAttr('disabled');
$('#customButton2').removeAttr('disabled');
}
if (document.getElementById('myselect').value === "SK") {
var objHidden = document.getElementById("amount");
objHidden.value = <?php echo getFees('SK', 'sprice', $price); ?>;
var objHidden2 = document.getElementById("province");
objHidden2.value = "SK";
$('#customButton').removeAttr('disabled');
$('#customButton2').removeAttr('disabled');
}
if (document.getElementById('myselect').value === "NT") {
var objHidden = document.getElementById("amount");
objHidden.value = <?php echo getFees('NT', 'sprice', $price); ?>;
var objHidden2 = document.getElementById("province");
objHidden2.value = "NT";
$('#customButton').removeAttr('disabled');
$('#customButton2').removeAttr('disabled');
}
if (document.getElementById('myselect').value === "NU") {
var objHidden = document.getElementById("amount");
objHidden.value = <?php echo getFees('NU', 'sprice', $price); ?>;
var objHidden2 = document.getElementById("province");
objHidden2.value = "NU";
$('#customButton').removeAttr('disabled');
$('#customButton2').removeAttr('disabled');
}
if (document.getElementById('myselect').value === "YT") {
var objHidden = document.getElementById("amount");
objHidden.value = <?php echo getFees('YT', 'sprice', $price); ?>;
var objHidden2 = document.getElementById("province");
objHidden2.value = "YT";
$('#customButton').removeAttr('disabled');
$('#customButton2').removeAttr('disabled');
}
}
</script>
<select required name="prov" id="myselect" class="dropit" onchange="changeHiddenInput(this)">
<option value="X">Select ship to province</option>
<option value="AB">Alberta</option>
<option value="BC">British Columbia</option>
<option value="MB">Manitoba</option>
<option value="NB">New Brunswick</option>
<option value="NL">Newfoundland/Labrador</option>
<option value="NS">Nova Scotia</option>
<option value="ON">Ontario</option>
<option value="PE">Prince Edward Island</option>
<option value="QC">Quebec</option>
<option value="SK">Saskatchewan</option>
<option value="NT">Northwest Territories</option>
<option value="NU">Nunavut</option>
<option value="YT">Yukon</option>
</select>
<input type="hidden" name="amount" id="amount" value="">
<input type="hidden" name="province" id="province" value="">
あなたがコードに作られ、なぜ –
は、説明を追加しましたあなたの答えを説明する必要がある変更内容を指摘しなければなりません。お返事ありがとうございます。 – ExtremeCoder