Returning data using JSON & JQUERY



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I am trying to pull the data I have within a JSON file onto my HTML page when a user interacts with the search field.



Here is a link to my JSON file: http://myjson.com/m0a3m



<input id="search" type="text" placeholder="Search term">
<div id="matches" style="height:70px; overflow-y:hidden; white-space:pre"></div>


$.getJSON( "https://api.myjson.com/bins/m0a3m", function( data ) 
var items = ;
var dataArr = ;

$.each( data, function( key, val, )
items.push( "<li id='" + key + "'><div class='c-name'>" + val.name + "</div><div class='c-address'>" + val.address.name + ', ' + val.address.line1 + ',' + val.address.town + ', ' + val.address.county + ', ' + val.address.postcode + "</div></li>" );
);
$( ".details").html("<ul>" + items + "</ul>");
);


Currently, all this does is display a few a lines of data. Could do with some real help linking it to the search bar.



Any suggestions or tips on what I should be read up on would be great!



Thanks










share|improve this question



















  • 1





    so, you want to filter the results based on what the user writes on the search field?

    – rubentd
    Nov 15 '18 at 16:12











  • $( ".details") is targeting class="details", which I don't see anywhere in your HTML. Can you provide a more complete example? Feel free to use jsfiddle.net/x742rn5a as a base.

    – Tim Lewis
    Nov 15 '18 at 16:14







  • 1





    Your logic could do with using join() on the array instead of relying on coercion to a string for the concatnation, but your code works fine: jsfiddle.net/x5vqg7t6.

    – Rory McCrossan
    Nov 15 '18 at 16:16


















0















I am trying to pull the data I have within a JSON file onto my HTML page when a user interacts with the search field.



Here is a link to my JSON file: http://myjson.com/m0a3m



<input id="search" type="text" placeholder="Search term">
<div id="matches" style="height:70px; overflow-y:hidden; white-space:pre"></div>


$.getJSON( "https://api.myjson.com/bins/m0a3m", function( data ) 
var items = ;
var dataArr = ;

$.each( data, function( key, val, )
items.push( "<li id='" + key + "'><div class='c-name'>" + val.name + "</div><div class='c-address'>" + val.address.name + ', ' + val.address.line1 + ',' + val.address.town + ', ' + val.address.county + ', ' + val.address.postcode + "</div></li>" );
);
$( ".details").html("<ul>" + items + "</ul>");
);


Currently, all this does is display a few a lines of data. Could do with some real help linking it to the search bar.



Any suggestions or tips on what I should be read up on would be great!



Thanks










share|improve this question



















  • 1





    so, you want to filter the results based on what the user writes on the search field?

    – rubentd
    Nov 15 '18 at 16:12











  • $( ".details") is targeting class="details", which I don't see anywhere in your HTML. Can you provide a more complete example? Feel free to use jsfiddle.net/x742rn5a as a base.

    – Tim Lewis
    Nov 15 '18 at 16:14







  • 1





    Your logic could do with using join() on the array instead of relying on coercion to a string for the concatnation, but your code works fine: jsfiddle.net/x5vqg7t6.

    – Rory McCrossan
    Nov 15 '18 at 16:16














0












0








0








I am trying to pull the data I have within a JSON file onto my HTML page when a user interacts with the search field.



Here is a link to my JSON file: http://myjson.com/m0a3m



<input id="search" type="text" placeholder="Search term">
<div id="matches" style="height:70px; overflow-y:hidden; white-space:pre"></div>


$.getJSON( "https://api.myjson.com/bins/m0a3m", function( data ) 
var items = ;
var dataArr = ;

$.each( data, function( key, val, )
items.push( "<li id='" + key + "'><div class='c-name'>" + val.name + "</div><div class='c-address'>" + val.address.name + ', ' + val.address.line1 + ',' + val.address.town + ', ' + val.address.county + ', ' + val.address.postcode + "</div></li>" );
);
$( ".details").html("<ul>" + items + "</ul>");
);


Currently, all this does is display a few a lines of data. Could do with some real help linking it to the search bar.



Any suggestions or tips on what I should be read up on would be great!



Thanks










share|improve this question
















I am trying to pull the data I have within a JSON file onto my HTML page when a user interacts with the search field.



Here is a link to my JSON file: http://myjson.com/m0a3m



<input id="search" type="text" placeholder="Search term">
<div id="matches" style="height:70px; overflow-y:hidden; white-space:pre"></div>


$.getJSON( "https://api.myjson.com/bins/m0a3m", function( data ) 
var items = ;
var dataArr = ;

$.each( data, function( key, val, )
items.push( "<li id='" + key + "'><div class='c-name'>" + val.name + "</div><div class='c-address'>" + val.address.name + ', ' + val.address.line1 + ',' + val.address.town + ', ' + val.address.county + ', ' + val.address.postcode + "</div></li>" );
);
$( ".details").html("<ul>" + items + "</ul>");
);


Currently, all this does is display a few a lines of data. Could do with some real help linking it to the search bar.



Any suggestions or tips on what I should be read up on would be great!



Thanks







jquery json






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 15 '18 at 16:21









Rory McCrossan

251k29218256




251k29218256










asked Nov 15 '18 at 16:10









Danzel91Danzel91

538




538







  • 1





    so, you want to filter the results based on what the user writes on the search field?

    – rubentd
    Nov 15 '18 at 16:12











  • $( ".details") is targeting class="details", which I don't see anywhere in your HTML. Can you provide a more complete example? Feel free to use jsfiddle.net/x742rn5a as a base.

    – Tim Lewis
    Nov 15 '18 at 16:14







  • 1





    Your logic could do with using join() on the array instead of relying on coercion to a string for the concatnation, but your code works fine: jsfiddle.net/x5vqg7t6.

    – Rory McCrossan
    Nov 15 '18 at 16:16













  • 1





    so, you want to filter the results based on what the user writes on the search field?

    – rubentd
    Nov 15 '18 at 16:12











  • $( ".details") is targeting class="details", which I don't see anywhere in your HTML. Can you provide a more complete example? Feel free to use jsfiddle.net/x742rn5a as a base.

    – Tim Lewis
    Nov 15 '18 at 16:14







  • 1





    Your logic could do with using join() on the array instead of relying on coercion to a string for the concatnation, but your code works fine: jsfiddle.net/x5vqg7t6.

    – Rory McCrossan
    Nov 15 '18 at 16:16








1




1





so, you want to filter the results based on what the user writes on the search field?

– rubentd
Nov 15 '18 at 16:12





so, you want to filter the results based on what the user writes on the search field?

– rubentd
Nov 15 '18 at 16:12













$( ".details") is targeting class="details", which I don't see anywhere in your HTML. Can you provide a more complete example? Feel free to use jsfiddle.net/x742rn5a as a base.

– Tim Lewis
Nov 15 '18 at 16:14






$( ".details") is targeting class="details", which I don't see anywhere in your HTML. Can you provide a more complete example? Feel free to use jsfiddle.net/x742rn5a as a base.

– Tim Lewis
Nov 15 '18 at 16:14





1




1





Your logic could do with using join() on the array instead of relying on coercion to a string for the concatnation, but your code works fine: jsfiddle.net/x5vqg7t6.

– Rory McCrossan
Nov 15 '18 at 16:16






Your logic could do with using join() on the array instead of relying on coercion to a string for the concatnation, but your code works fine: jsfiddle.net/x5vqg7t6.

– Rory McCrossan
Nov 15 '18 at 16:16













2 Answers
2






active

oldest

votes


















1














Since items is an Array and $.html expects a string – you'll need to join your array of items to output a string.



$(".details").html("<ul>" + items.join('') + "</ul>");



The join() method creates and returns a new string by concatenating
all of the elements in an array (or an array-like object), separated
by commas or a specified separator string.







share|improve this answer






























    0














    You should join the array elements



    $( ".details").html("<ul>" + items.join("") + "</ul>");





    share|improve this answer























      Your Answer






      StackExchange.ifUsing("editor", function ()
      StackExchange.using("externalEditor", function ()
      StackExchange.using("snippets", function ()
      StackExchange.snippets.init();
      );
      );
      , "code-snippets");

      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "1"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53323527%2freturning-data-using-json-jquery%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      1














      Since items is an Array and $.html expects a string – you'll need to join your array of items to output a string.



      $(".details").html("<ul>" + items.join('') + "</ul>");



      The join() method creates and returns a new string by concatenating
      all of the elements in an array (or an array-like object), separated
      by commas or a specified separator string.







      share|improve this answer



























        1














        Since items is an Array and $.html expects a string – you'll need to join your array of items to output a string.



        $(".details").html("<ul>" + items.join('') + "</ul>");



        The join() method creates and returns a new string by concatenating
        all of the elements in an array (or an array-like object), separated
        by commas or a specified separator string.







        share|improve this answer

























          1












          1








          1







          Since items is an Array and $.html expects a string – you'll need to join your array of items to output a string.



          $(".details").html("<ul>" + items.join('') + "</ul>");



          The join() method creates and returns a new string by concatenating
          all of the elements in an array (or an array-like object), separated
          by commas or a specified separator string.







          share|improve this answer













          Since items is an Array and $.html expects a string – you'll need to join your array of items to output a string.



          $(".details").html("<ul>" + items.join('') + "</ul>");



          The join() method creates and returns a new string by concatenating
          all of the elements in an array (or an array-like object), separated
          by commas or a specified separator string.








          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 15 '18 at 16:30









          CueCue

          1,023169




          1,023169























              0














              You should join the array elements



              $( ".details").html("<ul>" + items.join("") + "</ul>");





              share|improve this answer



























                0














                You should join the array elements



                $( ".details").html("<ul>" + items.join("") + "</ul>");





                share|improve this answer

























                  0












                  0








                  0







                  You should join the array elements



                  $( ".details").html("<ul>" + items.join("") + "</ul>");





                  share|improve this answer













                  You should join the array elements



                  $( ".details").html("<ul>" + items.join("") + "</ul>");






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 15 '18 at 16:20









                  simonecoscisimonecosci

                  82659




                  82659



























                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53323527%2freturning-data-using-json-jquery%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Use pre created SQLite database for Android project in kotlin

                      Darth Vader #20

                      Ondo