里面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,第二个 EUR,第三个 USD。
print_r($_POST['currency']);
期望看到所有值。
但只看到两个值
Array
(
[0] => EUR
)
Array
(
[0] => AUD
)
但alert($("#currency" + suffix).val());
弹出菜单显示所有值。
php
为什么看不到所有值的问题在哪里?
由于无法理解的原因$("#row" + suffix + " :input").serialize()
,仅传递了 2 个值...
试图将下拉菜单值记录在mysql
. 记录所有值。但 withprint_r
不会打印所有值。有点疯狂……