2012-05-22 45 views
0

以下是datepicker的代碼。當我們從字段中選擇一個日期時,「到」字段中在「從」字段下的所有日期都被阻止。我想在for循環的幫助下生成這些id,但是當我運行此代碼時,文本框只顯示具有「from」和「to」功能的datepicker。是由PHP 生成在循環中生成一個Javascript id

$(function() { 
    var frm = 0; 
    var tu = 0; 
    var i = 0; 
    for (i = 1; i <= 5; i++) { 
     frm = "#from" + i; 
     tu = "#to" + i; 
     $(frm).datepicker({ 
      changeMonth: true, 
      changeYear: true, 
      dateFormat: 'yy/mm/dd', 
      maxDate: '-1', 
      onSelect: function (selected) { 
       $(tu).datepicker("option", "minDate", selected) 
      } 
     }); 
     $(tu).datepicker({ 
      dateFormat: 'yy/mm/dd', 
      changeMonth: true, 
      changeYear: true, 
      maxDate: '-1', 
      onSelect: function (selected) { 
       $(frm).datepicker("option", "maxDate", selected) 
      } 
     }); 
    } 
}); 

HTML($ a = 1; $一個< = $ I; $一個++){

echo(" 
    <li> 

    <input type=\"text\" name=\"course_name$a\" class=\"jq_watermark required\" placeholder=\"Course Name\" title=\"$x Certified Course Name\" style=\"width:11.6em;\"> 
    <tab></tab> 
    <input type=\"text\" name=\"course_institute$a\" class=\"jq_watermark required\" placeholder=\"Institute Name\" title=\"$x Institute Name\" style=\"width:11.6em;\"> 
    <tab></tab> 
     <br /> 
    <input type=\"text\" id=\"from$a\" name=\"course_start_date$a\" class=\"required\" placeholder=\"Certified Course Start Date\" title=\"$x Certified Course Start Date\" style=\"width:11.6em;\" readonly=\"readonly\"> 
    &nbsp to&nbsp 
    <input type=\"text\" id=\"to$a\" name=\"course_end_date$a\" class=\"required\" placeholder=\"Certified Course End Date\" title=\"$x Certified Course End Date\" style=\"width:11.6em;\"> 
    <br /> 
    <input type=\"text\" name=\"course_city$a\" class=\"required\" placeholder=\"City\" title=\"$x Training Institute City Name!\" style=\"width:11.6em;\"> 
    <tab></tab> 
    <input type=\"text\" name=\"course_country$a\" class=\" required\" placeholder=\"Country\" title=\"$x Training Institute Country Name!\" style=\"width:11.6em;\"> 
    <tab></tab> 
    <button title=\"Your Training Certificate Scanned Picture, Please!\">Upload Training Certificate</button> 
    </li> 
    "); 

}

+1

我們可以看到HTML嗎? – Joseph

+0

在這個問題中,HTML結構並不重要。 – ThiefMaster

回答

0

由於閉合通過創建了匿名函數你總是有相同的frm/tu(應該是to btw。)變量。通過引入一個接收這些變量作爲參數的自我呼叫匿名功能,您可以創建新的避免此問題的參數:

$(function() { 
    var frm = 0; 
    var tu = 0; 
    var i = 0; 
    for (i = 1; i <= 5; i++) { 
     frm = "#from" + i; 
     tu = "#to" + i; 
     (function (frm, tu) { 
      $(frm).datepicker({ 
       changeMonth: true, 
       changeYear: true, 
       dateFormat: 'yy/mm/dd', 
       maxDate: '-1', 
       onSelect: function (selected) { 
        $(tu).datepicker("option", "minDate", selected) 
       } 
      }); 
      $(tu).datepicker({ 
       dateFormat: 'yy/mm/dd', 
       changeMonth: true, 
       changeYear: true, 
       maxDate: '-1', 
       onSelect: function (selected) { 
        $(frm).datepicker("option", "maxDate", selected) 
       } 

      }); 
     })(frm, tu); 
    } 
});