Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jquery获得php中文本字段和隐藏字段的循环值_Php_Jquery - Fatal编程技术网

如何使用jquery获得php中文本字段和隐藏字段的循环值

如何使用jquery获得php中文本字段和隐藏字段的循环值,php,jquery,Php,Jquery,如何使用jQuery获取每个输入字段(隐藏和可见)的值 <?php $date = date('m-d-Y'); $ts = strtotime($date); $year = date('o', $ts); $week = date('W', $ts); for($i = 1; $i <= 7; $i++) { ?><td><?php $ts = strtotime

如何使用jQuery获取每个输入字段(隐藏和可见)的值

<?php 
     $date   = date('m-d-Y');
     $ts     = strtotime($date);
     $year   = date('o', $ts);
     $week   = date('W', $ts);

     for($i = 1; $i <= 7; $i++) {
     ?><td><?php
     $ts = strtotime($year.'W'.$week.$i);
     ?><input type="text" name="days" id="days" />
      <input type="hidden" name="date_now" id="date_now" value="<?php print date("Y-m-d", $ts); ?>" />
    </td><?php
    } 
?> 


将id='days'和id='date_now'更改为class='days'和class='date_now')假设您需要所有值,我们可以将它们放入如下数组中:

var days_array     = [];
var date_now_array = [];

$('.days').each(function() {
    days_array.push($(this).val());
});

$('.date_now').each(function() {
    date_now_array.push($(this).val());
});

现在,变量
days\u array
date\u now\u array
包含所有值。

循环生成的所有输入是否打算作为一个表单的一部分提交?为什么不整理一下呢

将名称分别从
days
更改为
days[]
和从
date\u now
更改为
date\u now[]

当将PHP控件结构直接嵌入HTML时,请考虑使用更加清晰。

如果将当前循环计数器嵌入每个输入的id,则可以单独选择每个输入

如果向每个输入添加
class
属性,则可以将它们作为一个组进行选择

通过将的结果直接传递给的第二个参数,可以消除每个循环迭代中对
$ts
的额外赋值

由于还不完全清楚您的最终意图是什么,下面是您的初始代码示例,其中应用了我的所有建议:

<?php 
$date = date('m-d-Y');
$ts = strtotime($date);
$year = date('o', $ts);
$week = date('W', $ts);

for($i = 1; $i <= 7; $i++): 
$dt = date("Y-m-d", strtotime($year.'W'.$week.$i));
?>
<td>
<input type="text" name="days[]" id="days<?=$i?>" class="days" />
<input type="hidden" name="date_now[]" id="date_now<?=$i>" value="<?=$dt?>" class="date_now" />
</td>
<?php endfor; ?>

您呈现的html将具有多个唯一的
id
。@ahren如何解决此问题。你能给我举个例子吗问题是,
for
循环使多个元素具有相同的
id
属性。你不能像这样正确地选择它们。啊,我明白了,有重复的id(应该使用类),这是一种不好的做法,但是我会改变我的答案。我不会使用类似的东西。每个函数,因为当我上网时,我只会遇到。每个函数,你能给我一个例子吗,。,.thankz,因为我想获取文本字段和隐藏字段的值并将其保存到我的数据库中,最简单的方法是将id改为class。你想让我举个例子吗?
var dates_now = [];
$(".date_now").each(function(i, input) {
    dates_now.push(input.val());
});