0

里面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 while3 个循环,所以得到 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不会打印所有值。有点疯狂……

4

1 回答 1

0

尝试这个

    $.post("__foreign_currency_rate.php", $("#currency" + suffix + "   :input").serialize(), function(data) {
$('#load' + suffix).html(data);
  });
于 2013-08-22T05:32:06.640 回答