继续求教,这回是文本框的问题了
发布于:2022-01-17 09:50:54
#1 虞飞

这回需要批量修改一批文本框的值,每个文本框的值不一定一样(这就是我上个跳转问题的由来),在视图里,需要把文本框命名为类似text[]的样子,标志成一个数组,前面的复选框也是同样。那我的PHP代码该怎么写才能使我勾选比如第五行数据时,文本框里取得的也是第五行的数据。
该贴已经同步到 虞飞的微博
2011-07-13 23:41:29
#2 jake
复选框name=mycheckbox[]
文本框name="mytext[]"
提交后,action接收到后,就是两个有同样下标的数组($this->spArgs('mycheckbox') 和 $this->spArgs('mytext')),他们的值应该是一一对应的(当然,表单不能有别的同名元素),你可以在接收的action里面
dump($this->spArgs());
就可以看到两个数组和他们对应的值了。
2011-07-14 09:02:26
#3 chinalwb
个人见解哈
既然你是数组,在PHP中取得用户所选内容的时候 不就可以在循环中用下标来搞吗?
比如,你有10个checkbox,在PHP中循环10次,用不同的下标来得到这个checkbox是否被checked
如果被checked了,就得到这个下标的text的值
比如伪代码:
for ($i=0; $i<10; $i++) {
if (checkbox[$i].checked) {
$textValue = text
.value;
}
}
2011-07-14 10:57:13
#4 虞飞
复选框name=mycheckbox[]
文本框name="mytext[]"
提交后,action接收到后,就是两个有同样下标的数组($th ...
jake 发表于 2011-7-14 09:02 
继续追问。当我随便勾选其中任意两个复选框,并修改对应的文本框的内容后,dump出来的结果是类似这样
Array
(
[c] => admin
[a] => links
[lk_order] => Array
(
[0] => 0
[1] => 2
[2] => 3
[3] => 0
[4] => 0
[5] => 0
[6] => 0
[7] => 0
[8] => 0
[9] => 0
)
[chose] => Array
(
[0] => 00026
[1] => 00025
)
[modorder] => 调序
[PHPSESSID] => 26jkodlc3n3f43varhq1a4sk32
)
顺序不对应啊,如果全选复选框倒是可以一一对应,但我不能要求用户每次都去勾选全部复选框啊。
这个该怎么办呢。
2011-07-14 12:59:23
#5 jake
页面表单HTML或者直接在name="xx[$i]" $i循环
2011-07-14 19:32:09