我有一个javascript函数checkStatus()
,它接受四个参数bus_company_name,bus_id,bus_time
和bus_date
。前三个参数来自数据库,但第四个参数将由用户输入。为此,我写了HTML:
{foreach name = feach item = k from = $allBuses}
<p>
{$k->bus_company_name}<br />
A/C {$k->bus_is_ac}<br />
Date : <input type="text" name="date" id="dt" />yyyy/mm/dd
<a href="javascript:checkStatus('{$k->bus_company_name}','{$k->bus_id}','{$k->bus_time}',jrny_date)">Status</a>
</p>
{/foreach}
我希望来自ID jrny_date
的输入类型date
。我该如何实现呢?
答案 0 :(得分:2)
如果使用此选项,则会将元素值作为参数传递。
javascript:checkStatus('{$k->bus_company_name}','{$k->bus_id}','{$k->bus_time}',document.getElementById('dt').value)
但你也可以进入checkStatus函数。
答案 1 :(得分:1)
由于您循环遍历项目列表,我建议在每次迭代时使用当前索引来创建唯一的日期ID。然后,您可以将其传递给您的脚本,并通过ID获取元素的值:
{foreach name = feach key = i item = k from = $allBuses}
{$k->bus_company_name}<br />
A/C {$k->bus_is_ac}<br />
Date : <input type="text" name="date" id="dt_{$i}" />yyyy/mm/dd
<a href="javascript:checkStatus('{$k->bus_company_name}','{$k->bus_id}','{$k->bus_time}','dt_{$i}')">Status</a>
{/foreach}
<script>
function checkStatus(name, id, time, date_id){
var date = document.getElementById(date_id);
if(date){
alert(date.value);
// Do something fancy with the date
}
}
</script>