我的JavaScript函数运行正常,但是我在从PHP输入框中获取不同的ID时遇到了问题。
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
});
<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\" />";
任何帮助将不胜感激。
答案 0 :(得分:1)
变化:
id= \"inputField+$k\" name=...
要:
id=\"inputfield$k\" name=...
什么是搞砸了“+”符号。 PHP使用“。”连接字符串。 ECHO
$k
正确地{{1}},你应该没有任何麻烦
答案 1 :(得分: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
});
}
}
你不需要使用+符号来连接双引号内的字符串(顺便说一下,它是点)。
答案 2 :(得分:0)
//this is doesn't work
echo "<input type=\"text\" class='textboxsize' id= \"inputField$k\" name=\"start_date[]\" value=\"$start_date\" />";
只需移除+
个符号即可。