つまり、ページのリロード後 (送信ボタンをクリック) に、javascript の変更されたドロップダウン ボックスの値を維持する必要があります。
ドロップダウンメニュー
最初にphp配列で値を作成します
$options_main = array(
1=>'= Equals',
'≠ Does not Equal',
'> Is greater than',
'≥ Is greater than or equal to',
'< Is less than',
'≤ Is less than or equal',
'∋ Contains',
'∌ Does not contain',
' '
);
次に、ボックスをドロップします(phpコード)
<select name="date_day_selector[]" id="record_date_day'. $counter. '" onchange="blank()">';
foreach ( $options_main as $i1=>$opt1 ) :
echo '<option value="' .htmlspecialchars($i1) .'"' .
((htmlspecialchars($i1) ==
htmlspecialchars($_POST['date_day_selector'][$counter]))? 'selected' : "") .
'>'.htmlspecialchars($opt1) .'</option>';
endforeach;
echo '</select>';
<select name="date_month_selector[]" id="record_date_month'. $counter. '">';
foreach ( $options_main as $i1=>$opt1 ) :
echo '<option value="' .htmlspecialchars($i1) .'"' .((htmlspecialchars($i1) ==
htmlspecialchars($_POST['date_month_selector'][$counter]))? 'selected' : "") .
'>'. htmlspecialchars($opt1) .'</option>';
endforeach;
echo '</select>';
手動で値を選択して送信ボタンをクリックすると、ページがリロードされ、値が保持されます。
ただし必要:id="record_date_day'. $counter. '"
ユーザーが特定の値を選択すると、の値id="record_date_month'. $counter. '"
が空白になります' '
Javascript は値を変更しますid="record_date_day'. $counter. '"
function blank() {
<?php
$counter = 0;
$counter_maximum = 2;
while ($counter < $counter_maximum){
?>
if ( (document.getElementById('record_date_day<?php echo $counter;?>').selectedIndex == 2) || (document.getElementById('record_date_day<?php echo $counter;?>').selectedIndex == 3) || (document.getElementById('record_date_day<?php echo $counter;?>').selectedIndex == 4) || (document.getElementById('record_date_day<?php echo $counter;?>').selectedIndex == 5) ) {
document.getElementById('record_date_month<?php echo $counter;?>').selectedIndex=9;
document.getElementById('record_date_year<?php echo $counter;?>').selectedIndex=9;
}
<?php
$counter++;
}
?>
}
また、JavaScript が変更された場合、id="record_date_day'. $counter. '"
送信ボタンをクリックした後、値の値は保持されません。
ページのリロード後 (送信ボタンをクリック) に javascript の変更された値を保持する方法はありますか?
更新 1
私が行った結論は次のとおりです。
ページのリロード後の php $_POST では、ページのリロードecho
前に設定されたドロップダウン メニューの値が表示されます。
ユーザーがドロップダウン メニューの値を手動で設定した場合、値が存在します。
値javascript
を変更した場合、値は存在しません。echo
ajax と phpなし (空白)でドロップダウン メニューの値を渡そうとしました。私の意見では、ページのリロード後にデフォルト値が表示されるのはそのためです。
したがって、質問は、javascript を使用してドロップダウン ボックスの値を、php に存在する何らかの方法で変更できるかどうかです。
そうでない場合は、次のようにphpを使用しようとします:値が設定されていない場合、必要な値をエコーします(デフォルト値ではありません)...