And*_*ham 0 javascript php jquery concatenation
我正在尝试创建一个页面,用户可以根据需要向表中添加任意数量的行,然后将输入的值(表中每个单元格中有一个输入)传递回页面.
尝试使每个动态生成的输入框的名称不同时,我的问题就来了.我试图创建一个变量来实现它,但我正在使用的语法,在其他地方有效,在创建新元素时似乎不起作用.
这是有问题的代码:
if ($_POST['dept_1'] != null){ //If there was an input
$i = intval($_POST['num_of_rows']);
while ($i != 0){
$dept = $_POST['dept_' . $i];
$hours = $_POST['hours_' . $i];
echo $dept . " " . $hours . "\n";
$i--;
}
}
Run Code Online (Sandbox Code Playgroud)
.....
var i = 2;
$("document").ready(function(){
$("#newrow").click(function(e){
$("#maintable").append('<tr> \
<td><input type="text" name="dept_" + i size="5" maxlength="5" /></td> \
<td><input type="text" name="hours_" + i size="5" maxlength="1" /></td> \
</tr>');
alert("dept_" + i);
e.preventDefault();
$("#hiddenvalue").attr("value", "" + i + "");
i = i + 1;
});
});
Run Code Online (Sandbox Code Playgroud)
$ POST ['dept '.当$ i = 1时,$ i]工作,因为dept_1被写入页面的HTML中.
alert("dept_"+ i)有效,将i的值连接到字符串.
name ="dept_"+我不行.检查新元素,它的名字是"dept_ + i"
为什么会发生这种情况,我该如何解决?
不要让自己这么难.使用数组名称.
<td><input type="text" name="dept[]" size="5" maxlength="5" /></td>
<td><input type="text" name="hours[]" size="5" maxlength="1" /></td>
Run Code Online (Sandbox Code Playgroud)
使用$ _POST ['dept']和$ _POST ['hours']获取PHP中的值,这将返回漂亮的干净数组.
| 归档时间: |
|
| 查看次数: |
940 次 |
| 最近记录: |