【问题标题】:Post array using clone of select使用 select 的克隆发布数组
【发布时间】:2015-05-13 01:30:10
【问题描述】:

我在 PHP 中有我的代码,我正在使用一个选择框,内置在一个数组中。我假装是用 jQuery 克隆选择以添加我想要的行数。

例子:

<a href="javascript:void(0);" id='add_line_class'>Adicionar classe</a><a class='icon add_btn_icon activated_icon'></a>
<a href="javascript:void(0);" id='rem_line_class'>Remover classe</a><a class='icon cross_btn_icon'></a>
<table id="tbl_add_class" border="0" width="100%">
<tr id="add_new_class">
<td style="width:30%"><strong>Classe:</strong>&nbsp;
<select name="var_class[]">
  <option value="A"><A</option>
  <option value="B"><B</option>
  <option value="C"><C</option>
</select>
</td></tr>
</table>

然后我的jQuery克隆选择,使用ID:

$(document).on('click',"#add_line_class", function(){
    var content = $('#add_new_class').clone(true);
    $('#add_new_class').after(content);
});

到目前为止一切正常,它克隆了,但我想通过 PHP 的 POST 传递值,以便在下一步/页面中接收。它很好地通过了第一个选择(php 原始选择),但没有通过 jQuery 值(克隆)。

我需要使用 ajax 发布吗?或任何其他解决问题的想法?

谢谢。

【问题讨论】:

标签: php arrays post clone


【解决方案1】:

我尝试使用您的代码。它可以很好地克隆元素和克隆元素的POST 数据。如果您想在单击提交按钮时获取数据的POST 值,请尝试在您的 php 代码中这样做

if(isset($_POST['submit']))
{

    for($i=0;$i<count($_POST['var_class']);$i++)
    {

        $rows[$i]['item_name'] = $_POST['var_class'][$i];
    }

    foreach($rows as $row)
    {
        print_r($row);
    }

}

在您的HTML 中尝试这样更改。

<input type="button" onClick="javascript:submit_form();" value="Passo 2 >>" style="width:100px"/> 

在你的JavaScript这样写

function submit_form()
{
      // You can do here validations
    document.form1.action='test.php?step=2';
    document.form1.submit();
}

然后它将起作用。请这样尝试。

如果此代码不能解决您的问题,请解释更多。以便我可以帮助您。谢谢。

【讨论】:

  • 还是一样,只是通过 PHP 选择(第一个),比​​如 Array ( [item_name] => H ) 。我试图将您的代码放在测试页面中,但仍然无法正常工作。在count($_POST['var_class']中,只数1!
  • 您能否准确解释您的预期输出。所以我会帮助你。
  • 我试过你的代码来克隆元素jsfiddle.net/tkaz5n8v。现在在这里提交表格。是不是这样。请给我更多关于您的确切结果的解释或发布您想要的代码
  • 我期待您获得的结果,但在我的情况下,它只是通过了第一项。也许是因为我的提交表单,但这是一个正常的提交,例如:
  • 在我的输入按钮上我有这个
猜你喜欢
相关资源
最近更新 更多
热门标签