2011-09-21 46 views
1

我正在嘗試使用jQuery的表單插件。我使用JSON示例herejQuery表單插件和jQuery DatePicker不一起工作

由於某種原因,當我使用jQuery表單插件時,日期選擇器沒有顯示在頁面上。在我的jQuery的文件我有:

jQuery.noConflict(); 

jQuery(document).ready(function($) { 


    $('#csf_map_form').ajaxForm(function() { 
     dataType: 'json', 
     success: process_json 
    }); 


    function process_json(data) { 
     alert(data.csf_map_offense_group1); 
    } 



    $('#csf_map_start_date').datepicker({ 

     dateFormat : 'mm/dd/yy', 
     yearRange : '2011:2011', 
     changeMonth: true, 
     changeYear: true, 
     defaultDate : new Date(2011, 8-1,1), 
     minDate : new Date(2011, 1-1,1), 
     maxDate : new Date(2011, 8-1, 25) 

    }); 



    $('#csf_map_end_date').datepicker({ 
     dateFormat : 'mm/dd/yy', 
     yearRange : '2011:2011', 
     changeMonth: true, 
     changeYear: true, 
     defaultDate : new Date(2011, 8-1, 25), 
     minDate : new Date(2011, 1-1,1), 
     maxDate : new Date(2011, 8-1, 25) 

    }); 

}); 

在我的PHP文件,表單的外觀:

//start form 
     $output .= '<form id="csf_map_form" action="path-to-file/csf_map_form_handler.php" method="post" >'; 


    //1st datepicker 
      $output .= '<div>'; 
      $output .= '<label for="csf_map_start_date">Start Date:</label>'; 
      $output .= '<div id="csf_map_start_date" style="font-size: 10px;"></div>'; 
      $output .= '</div>'; 

    //2nd datepicker  
      $output .= '<div>'; 
      $output .= '<label for="csf_map_end_date">End Date:</label>'; 
      $output .= '<div id="csf_map_end_date" style="font-size: 10px;"></div>';    
      $output .= '</div>'; 

//radio button group div   
      $output .= '<div style="float: left; width: 150px; margin: auto; padding-left: 20px; ">'; 
      $output .= '<label for="csf_map_group1">Select Offense:</label><br />'; 
      $output .= '<input type="radio" name="csf_map_group1" checked="checked" value="TINY">Tiny</input><br />'; 
      $output .= '<input type="radio" name="csf_map_group1" value="MEDIUM"/>Medium</input><br />'; 
      $output .= '<input type="radio" name="csf_map_group1" value="LARGE">Large</input><br />'; 
      $output .= '</div>'; //end radiobuttons 

      $output .='<input type="submit" value="Submit" />'; 

      $output .= '</form>'; 

出於某種原因,給ajaxForm與日期選擇器衝突。如果我註釋掉$('csf_map_form'),ajaxForm和process_json函數的函數,那麼表單中的日期選擇器工作正常。如果我不發表評論,那麼日期選擇器就不會出現。但是,點擊提交時警報會觸發。它會警告在單選按鈕中選擇的內容。

關於發生了什麼的任何想法?我如何讓他們打得好?我犯了什麼錯誤?

謝謝。

+0

您使用的是哪個版本的jQuery和jQuery UI? –

回答

2

華友世界,我想通了。

1)我改變了內聯datepickers默認 - 用datepick替換div。

2)我錯過了$('#csf_map_form')中的'#'。

3)在csf_map_form_handler.php中,我只返回表單信息的一部分。當我改變它,以便我返回開始和結束日期以及單選按鈕的選擇時,它就起作用了。

謝謝。