2013-03-16 88 views
0

我想爲TMDb寫一個自動完成,但我想不出如何格式化日期。從json格式化日期與jquery

TMDB API會返回一個日期,如2001-12-19。我想顯示數據如Title (Year)

我試圖擺弄和獲取與jQuery的日期,如http://jsfiddle.net/XHyy3/

我的腳本:

<script> 
    $(function() { 
    function log(message) { 
     $("<div>").text(message).prependTo("#log"); 
     $("#log").scrollTop(0); 
    } 

    $("#city").autocomplete({ 
     source: function(request, response) { 
     $.ajax({ 
      url: "http://api.themoviedb.org/3/search/movie?api_key=myapikey", 
      dataType: "jsonp", 
      data: { 
      query: request.term 
      }, 
      success: function(data) { 
      response($.map(data.results, function(item) { 
       return { 
       label: item.title + " (" + item.release_date + ")", 
       value: item.title, 
       name: item.id 
       } 
      })); 
      } 
     }); 
     }, 
     minLength: 2, 
     select: function(event, ui) { 
    $("input#city").val(ui.item.name); 
    $('input[name="q"]').attr('name', 'id'); 
    $('input[id="film"]').click(); 
     }, 
     open: function() { 
     $(this).removeClass("ui-corner-all").addClass("ui-corner-top"); 
     }, 
     close: function() { 
     $(this).removeClass("ui-corner-top").addClass("ui-corner-all"); 
     } 
    }); 
    }); 
</script> 

item.release_date包含日期,e.g 2001-12-19

+0

它看起來就像你發現在你的jsfiddle的解決方案。你只是想知道是否有更好的方法?你可以將它縮短到'item.release_date.split(' - ')[0]'。 – 2013-03-16 19:16:55

+0

我發現如何在jsfiddle中做到這一點,但是我無法在上面的代碼中使用它。 我很新jquery – mariusch 2013-03-16 19:38:16

回答

0

如果一切工作正常,只是改變這一行:

label: item.title + " (" + item.release_date + ")", 

要這樣:

label: item.title + " (" + item.release_date.split('-')[0] + ")", 
+0

謝謝,那創造了奇蹟! – mariusch 2013-03-16 22:22:15