0

我的 JavaScript 函数工作正常,但我在从 PHP 输入框中获取不同的 id 时遇到问题。

JavaScript

window.onload = function()
{   
new JsDatePick({
useMode:2,
target:"inputField1", //HERE I WOULD LIKE TO PASS DIFFERENT ID ex. "inputField1"+ "i"
dateFormat:"%Y-%M-%d",
yearsRange:[1978,2120],
limitToToday:false,
cellColorScheme:"beige",
imgPath:"main/img/",
weekStartDay:1
});

我的 PHP 输入框 for loop

<div class = "start_date" >
<strong><label for="start_date">Start Date</label></strong>
<br/><br/> 
<?php
for($k=1;$k<=$textboxindex;$k++)
{
echo "<input type=\"text\" class='textboxsize' id= \"inputField1\"   name=\"start_date[]\" value=\"$start_date\" />";
echo "<br/>";
 }
?>
</div>

它工作正常,但我想在 JavaScript 函数中使用不同的 ID 名称。有任何想法吗?

这行不通...

echo "<input type=\"text\" class='textboxsize' id= \"inputField+$k\" name=\"start_date[]\" value=\"$start_date\" />";

任何帮助将不胜感激。

4

3 回答 3

1

改变:

id= \"inputField+$k\" name=...

至:

id=\"inputfield$k\" name=...

搞砸的是“+”号。PHP 使用“.” 连接字符串。 ECHO正确退出$k,你不应该有任何麻烦

于 2012-10-30T18:16:00.620 回答
1

最有可能与JsDatePick小部件有关。它的target参数采用元素的单个 ID,因此您必须将 JS 代码包装在一个循环中,并为每个字段 ID 启动一个单独的小部件实例。

假设您的输入字段索引从 1 开始:

window.onload = function()
{   
    var i = <?=$totalNumberOfInputs;?>

    for(j=1;j<=i;j++) {  
        new JsDatePick({
            useMode:2,
            target:"inputField" + j, //HERE I WOULD LIKE TO PASS DIFFERENT ID ex. "inputField1" + j
            dateFormat:"%Y-%M-%d",
            yearsRange:[1978,2120],
            limitToToday:false,
            cellColorScheme:"beige",
            imgPath:"main/img/",
            weekStartDay:1
        });
    }
}

您不需要将 + 号用于在双引号内连接字符串(顺便说一下,它是点)。

于 2012-10-30T18:21:15.150 回答
0
 //this is doesn't work 
echo "<input type=\"text\" class='textboxsize' id= \"inputField$k\" name=\"start_date[]\" value=\"$start_date\" />";

只需删除该+标志。

于 2012-10-30T18:16:53.650 回答