尝试使用名称访问表中字段的日期选取器时出现问题

Issue trying to access Date Picker on field in table using name

本文关键字:选取 日期 问题 字段 访问表      更新时间:2023-09-26

在我的项目中,我必须将所有表转换为Bootstrap动态表格式。我正在使用一个有表的页面,用户可以根据复选框修改状态和状态日期。由于某些原因,我无法让日期选择器处理表中的某一列。以下是表格的部分设置:

<div class="panel-body">
  <div class="flextable" id="updateResults">
    <table id="checkedTable" class="tablesaw tablesaw-stack table-responsive" data-tablesaw-mode="stack">
      <thead>
        <tr>
          <th> SEL</th>
          <th>Schedule Number</th>
          <th>Contract Year</th>
          <th>Status</th>
          <th>Status Date</th>
          <th>Approval ID</th>
        </tr>
      </thead>
      <tbody>
        <c:forEach var="row" items="${Updresults}">
          <c:set var="sched" value="${row.getSCHEDULE_NUMBER()}" />
          <c:set var="eftyear" value="${row.getEFT_CONTRACT_YEAR()}" />
          <c:set var="EFTstatus" value="${row.getSTATUS()}" />
          <c:set var="schedcombo" value="${sched}${eftyear}" />
          <fmt:formatNumber var="schedTotl" value="${row.getTOTAL_AMOUNT()}" pattern="$##,###,##0.00" />
          <tr>
            <td>
              <input style="width:50px;" type="checkbox" id="holdselectedSched" name="selectedSched" class="pullchecked" value="<c:out value=" ${schedcombo} "/>"/>
            </td>
            <td id="ModifyScheduleNumber">
              <c:out value="${row.getSCHEDULE_NUMBER()}" />
            </td>
            <td>
              <c:out value="${row.getEFT_CONTRACT_YEAR()}" />
            </td>
            <td>
              <select style="width:80px" id="ModifyStatus" name="ModifyStatus_<c:out value=" ${schedcombo} "/>" class="form-control">
                <c:forEach items="${ModifyList}" var="statusValue">
                  <option value="${statusValue}" <c:if test="${statusValue == UpdCMDStatus}"> selected="selected"</c:if>
                    >${statusValue}</option>
                </c:forEach>
              </select>
            </td>
            <td>
              <input class="form-control" name="ModifyStatusDate_<c:out value=" ${schedcombo} "/>" type="text" value="${row.getSTATUS_DATE()}" />
            </td>
            <td>
              <c:out value="${row.getAPPR_HUD_EMPLOYEE()}" />
            </td>
          </tr>
        </c:forEach>
      </tbody>
    </table>
  </div>

以下是我访问日期选择器的功能:

$(function() {
  $("input[name^='ModifyStatusDate_']").datepicker({
    dateFormat: "yy-mm-dd"
  });
});        

在函数中尝试使用<input>中的通配符的问题是动态表设置的问题?

尝试不使用单引号。

$(function() {
  $("input[name^=ModifyStatusDate_]").datepicker({
    dateFormat: "yy-mm-dd"
  });
});    

或者尝试使用这个,我建议使用这个,因为您说过Nikki9696's答案对您不起作用。尝试循环遍历每个元素,然后逐个应用插件。

$(function() {
  $.each("input[name^=ModifyStatusDate_]",function(){
    $(this).datepicker({
     dateFormat: "yy-mm-dd"
    });
  });
});