中php while
にはそのようなドロップダウンメニューがあります
<tr id='row<?php echo $row_number;?>'>
...
<td>
<select name="currency[]" id="currency<?php echo $row_number;?>" >
<option value=""></option>
<option value="AUD">AUD</option>
<option value="EUR">EUR</option>
<option value="USD">USD</option>
</select>
</td>
</tr>
出力では、複数のそのhtml
ようなメニューを取得します (理由によりphp while
)
ajax
値を外部phpファイルに渡そうとしています。
$(document).ready(function () {
function sendCurrencies() {
function autosave(suffix) {
if (($("#currency" + suffix).val()).length > 0) {
alert($("#currency" + suffix).val());
$.post(
"__foreign_currency_rate.php",
$("#row" + suffix + " :input").serialize(),
function (data) { $('#load' + suffix).html(data); }
);
}//if ( ($("#currency" + suffix).val()).length > 0 ) {
}//function autosave(suffix) {
$('[id^="currency"]').each(function (index, currency) {
var suffix = currency.id.substring(8);
autosave(suffix);
});
}//function sendCurrencies() {
setInterval(sendCurrencies, 6000);
});//$(document).ready(function() {
問題/質問がコードのこの部分にあるとします$.post("__foreign_currency_rate.php", $("#row" + suffix + " :input").serialize(),
外部php
ファイルで最初に取得したものを確認したい
echo '<pre>';
print_r($_POST['currency']);
echo '</pre>';
たとえば、php while
3 つのループがあるので、3 つのドロップダウン メニューを取得します。最初に AUD、2 番目に EUR、3 番目に USD を選択します。
すべての値が表示されることprint_r($_POST['currency']);
を期待しています。
ただし、値は 2 つしか表示されません
Array
(
[0] => EUR
)
Array
(
[0] => AUD
)
ただし、alert($("#currency" + suffix).val());
ポップアップメニューを使用すると、すべての値が表示されます。
php
すべての値が表示されないのはなぜですか?
理解できない理由$("#row" + suffix + " :input").serialize()
で、2つの値のみを渡します...
にドロップダウン メニューの値を記録しようとしましたmysql
。すべての値が記録されます。ただし、 withprint_r
はすべての値を出力するわけではありません。何かクレイジー....