Casablanca: jQuery in MVC4

Hallo Forum,

ich habe folgendes Problem mit jQuery unter MVC4. Ich möchte mir ein accordion-Menu vie jQuery einbauen. Leider bekome ich die ganze Zeit diese Fehlermeldung, mit der ich schon seit gestern herumschlage.

  
<div id="accordion">  
     <h1><a href="#1">Section 1</a></h1>  
    <div>In section 1</div>  
     <h1><a href="#2">Section 2</a></h1>  
    <div>In section 2</div>  
</div>  
  
script type="text/javascript">  
   $(function () {  
      $("#accordion").accordion();  
   });  
</script>  

Laufzeitfehler in JavaScript: Das Objekt unterstützt die Eigenschaft oder Methode "accordion" nicht

Ich kann leider nicht nachvollzihen, warum diese Meldung ausgetossen wird, denn ich alle notwendigen jQuerys eingebunden habe.

Es ist zu erwähnen, dass dieses Beispiel außerhalb von MVC ganz normal funktioniert.

Danke im Voraus

  1. Hallo,

    $("#accordion").accordion();

    Laufzeitfehler in JavaScript: Das Objekt unterstützt die Eigenschaft oder Methode "accordion" nicht

    Das bedeutet, dass das Accordion-Script nicht eingebunden, wurde nicht gefunden oder wurde nicht korrekt ausgeführt.

    Wie sieht die Einbindung der Scripte aus?

    Ich kann leider nicht nachvollzihen, warum diese Meldung ausgetossen wird, denn ich alle notwendigen jQuerys eingebunden habe.

    Das jQuery-Plugin sollte nach der jQuery-Bibliothek eingebunden werden. Schau am besten mal im Code, welche script-Elemente existieren und prüfe in den Developer-Tools eines Browsers (am besten ein aktueller Firefox, Chrome oder IE), ob diese auch korrekt geladen werden. Werden noch andere Fehler auf der JavaScript-Konsole ausgegeben?

    Mathias

    1. Hallo,

      vielen Dank für deine Antwort. Ich habe versucht, wie das Beispiel (http://jsfiddle.net/Sj7Mh/), die nötigen Plugins über die Urls einzubinden. Das hat nicht gebracht. Dann habe ich das "jquery.ui.accordion.js" heruntergeladen und eingebunden.

        
      <script src="../../Scripts/jquery.ui.accordion.js" type="text/javascript"></script>  
      <script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>  
      
      

      Da bekomme ich diese Meldung:

      Laufzeitfehler in JavaScript: "jQuery" ist undefiniert

      Gruß

      1. Mahlzeit,

        Laufzeitfehler in JavaScript: "jQuery" ist undefiniert

        Du sollst das Plugin ja auch NACH jquery einbinden.

        Ist wie beim Auto. Erst Tankdeckel aufmachen und dann erst Tankstutzen reinstecken. Umgekehrt ist doof ;)

        --
        42
        1. Hi,

          danke. Ich bin nicht so ein Profi bei jQuery. Was ist das jQuery-Plugin und wie binde es ein? Kannst du mir kurz auflisten, was alles eingebunden werden muss?

          Gruß

          1. Mahlzeit,

            danke. Ich bin nicht so ein Profi bei jQuery.

            Das sind aber javascript-Grundlagen und Beispiele gibt es bei jQuery direkt im Tutorial.

            Was ist das jQuery-Plugin und wie binde es ein?

            Das Plugin ist dein Accordeon.

              
            <script src="../../Scripts/jquery.ui.accordion.js"></script>  
            
            

            In HTML5 kannst du dir type="" sparen. Kann sogar sein, dass es nicht mehr erlaubt ist, weiss ich nicht auswendig.

            Kannst du mir kurz auflisten, was alles eingebunden werden muss?

            In deinem Fall als erstes jquery, dann jquery-ui und am Ende das Accordion (und evtl. weitere Plugins, die du nutzen willst.

            --
            42
            1. In deinem Fall als erstes jquery, dann jquery-ui und am Ende das Accordion (und evtl. weitere Plugins, die du nutzen willst.

              Das Accordion ist bei ui schon mit dabei. Das muss nicht extra eingebunden werden.

              Gruß
              9 * Kluger
              T-Rex

      2. Mahlzeit,

        Nachtrag: Du musst auch jquery-ui auch noch einbinden, hast du ja bei jsfiddle auch gemacht.

        --
        42