页面显示了2个文本框,是两个日期控件,问题是我不管在哪个文本框里选择日期,日期只显示在第一个文本框里,这是什么原因啊?
jsp代码:
<tr>
<th>网站开通时间<img src="<%=basePath%>\shared\img/gray-triangle.gif" /></th>
<td colspan="3"><label for="label"> <html:text
name="OutputForm" property="beginTime" size="10" maxlength="10"></html:text>
至 <html:text name="OutputForm" property="endTime" size="10"
maxlength="10"></html:text> </label></td>
</tr>js代码:
$(document).ready(function() {

$("input[@name='beginTime'],input[@name='endTime']").datepicker({ dateFormat: 'yy-m-d'});
});

解决方案 »

  1.   

    $("#beginTime, #endTime").datepicker({ dateFormat: 'yy-m-d'});
      

  2.   

    $("#beginTime").datepicker({ dateFormat: 'yy-m-d'});
    $("#endTime").datepicker({ dateFormat: 'yy-m-d'});
      

  3.   

    两个文本框的name都是OutputForm,jQuery用name属性取得的对象是个数组,不指定具体对象,jQuery返回第一个对象,所以只有第一个文本框里被赋值。
    解决办法:在每个<html:text>标签中加入 styleClass="date"属性
    jquery:
    $(document).ready(function() {
    $(".date").datepicker({ dateFormat: 'yy-m-d'});
    });
    使用这种方法查找jQuery对象无论对多少个文本框都起作用。
      

  4.   

    这是我的源代码//js代码
    jQuery(".date").datepicker();
    jQuery(".date").datepicker("option","dateFormat","yy年mm月dd日");
    //页面代码
    <td align="right">开始时间</td>
    <td align="left">
    <html:text property="startDate" styleClass="date"></html:text>
    </td>
    <td align="right">结束时间</td>
    <td align="left">
    <html:text property="endDate" styleClass="date"></html:text>
    </td>