Jquery ui fungerar inte. Ansluter jQuery UI. Ansluta jQuery UI-biblioteket till ett HTML-dokument

Jag är förvirrad över ett litet problem relaterat till jquery i mitt projekt. Projektet är en MVC4-sajt i visual studio 11.

Problemet är att jQuery inte ingår i paketet och det verkade fungera innan jag uppdaterade till 1.7.2, men kan inte vara säker.

Jag ser jQuery-filkommentaren ovanpå den länkade filen, men jag kan inte hitta den. Alla andra filer verkar vara inkluderade (mina egna skript och jquery ui-filer).

Jag provade paketfilter och skapade mitt eget paket, men ingenting fungerar.

Jag skulle verkligen uppskatta all hjälp eftersom när sidan laddar alla java-skript bara kraschar eftersom funktionen inte hittas. Detta fungerar om jag inkluderar java-skriptfilerna normalt.

Skyddat void Application_Start() ( BundleTable.Bundles.EnableDefaultBundles(); )

Funktionstest( )

Ändrade sedan till detta och koden var borta den här gången.

(funktionstest())( ))

Det märkligaste är att andra jQuery-filer som UI:er inte tas bort och de är desamma.

Edit: det ser ut som att detta är tänkt

Uppdatering 2:

Testade lite mer och fick reda på vilken fil som går sönder, om jag inkluderar någon av dessa filer i mitt eget paket går den sönder

  • jquery.validate.js
  • jquery.validate.unobtrusive.js
  • jquery.unobtrusive-ajax.min.js

Jag har dem tidigare och de fungerar utan fel

  • jQuery-1.7.2.min.js
  • JQuery-UI-1.8.19.min.js
  • bootstrap.min.js

Det är fortfarande konstigt, om jag inkluderar den här filen som vanligt i ett script med , så fungerar de som de ska utan fel.

Fast om jag samlar in arbetsfiler och sedan lägger till en som inte fungerar efteråt, som vanligt, går de fortfarande sönder

Var bundle = new Bundle("~/js", new JsMinify()); bundle.AddFile("~/Scripts/jquery-1.7.2.min.js"); bundle.AddFile("~/Scripts/jquery-ui-1.8.19.min.js"); bundle.AddFile("~/Scripts/bootstrap.min.js"); BundleTable.Bundles.Add(bundle);

Edit: Det ser ut som att något har ändrats i de associerade jquery-filerna som gör att valideringspluginerna

Jobba runt

Jag försökte lägga till gamla filer innan jag uppdaterade och det fungerar! Vi fick reda på att det var det nya jQuery UI 1.8.19 från NuGet som kraschade.

Jag laddade ner jquery ui direkt från min sida och använde det istället och det fungerade!

Så det verkar som att något i versionen av jquery ui nuget har ändrats, att paketet bygger och ändrar/tar bort det, så det går sönder.

vilken del är skyldig? jQuery UI NuGet-paket eller mvc4-paket? Och finns det en lösning på bindningsproblemet?

Fråga: Felaktig jQuery-anslutning i Wordpress


När du ansluter ett plugin i ett WordPress-inlägg ser plugin inte jquery och konsolen svarar naturligtvis:

JQuery(...).rotator är inte en funktion
I samma post, precis innan du ansluter plugin-programmet, finns det:

Javascript
1 2 3 < script>if (window.jQuery ) ( alert("ss"); )


Som returnerar ss. Jag kopplade in den i functions.php, felaktigt i header.php, installerade en plugin för att ansluta jquery på sidor - fan, det fungerar inte.

Tack så mycket på förhand till alla som uppmärksammat.

Svar:

Moderatorns kommentar
Ruslaner___, hmm, korsinlägg på forumet är förbjudet
varning till dig

Fråga: Ansluter JQuery UI


Jag försöker ansluta JQuery UI enligt följande. Mellan head-taggarna lägger jag till bibliotek och en css-fil:
HTML5-kod
1 2 3
HTML5-kod
1 2 3 4 5 6 7 8 9 10 11 12 $("#slider").slider((intervall: "min", min: 1, max: 100, värde: 37, slide: function(event, ui) ( $("#amount").val("$ " + ui.värde); ) )); $("#amount").val("$" + $("#slider").slider("värde"));

Och mellan body-taggarna försöker jag visa samma reglage

Som ett resultat matas ingenting ut. Jag kollade med firebug, inga fel hittades. Vad ska jag göra för att få det att fungera?

Svar: pro1004ok,

Javascript-kod
1 2 3 4 5 $(funktion () ( // all jQuery-kod här) );

Fråga: Ansluter jQuery


Vilken dum sak att jQuery inte fungerar.
HTML5
1 2 3 4 5 6 7 8 9 10 11 12 Hemsida

< head >

< meta charset = "utf-8" >

< title >Sidans Titel< / title >

< / head >

< body >

< / body >

< / html >

Fördelen med denna metod är att många webbplatser ansluter jQuery via Googles API, vilket innebär att det här biblioteket med stor sannolikhet redan finns i användarens webbläsarcache, och det kommer inte att laddas en andra gång alls.

Ansluter jQuery till WordPress

jQuery ingår automatiskt i WordPress, så det finns inget behov av att manuellt inkludera bibliotek från andra versioner. Detta händer i mallen med hjälp av php-kod:

Detta kommer att resultera i en jQuery-anslutningssträng inuti HEAD-taggen.

I skrivande stund kommer jQuery v1.12.4 med WordPress Men som du kan se är versionen av biblioteket mycket annorlunda än den som ingår i exemplen ovan. Det är möjligt att ansluta den senaste versionen av biblioteket, men det finns risk för en konflikt.

För att undvika en konflikt, men ändå använda den version av biblioteket som behövs, måste du använda rätt sätt att inkludera jQuery i functions.php-filen:

Jag har inte skrivit något på bloggen på länge, och jag tog mig äntligen lite tid att prata om widgeten Autokomplettering, som ingick i jQuery UI, ett tillägg för jQuery JavaScript-biblioteket.

Autoslutför-widgeten hjälper till att organisera en lista med matchande värden när användaren fyller i ett inmatningsfält.

Först, låt oss besöka sidan på jQuery UI-webbplatsen för att få de filer vi behöver. Vi klickar på länken Avmarkera alla komponenter för att inte ladda ner onödiga saker och väljer sedan bara det vi behöver - kryssa i kryssrutan Autoslutför och se att kryssrutorna Core, Widget och Position är markerade tillsammans med den. Widgeten Autoslutförande beror på att dessa filer fungerar.

Dessutom finns det en rullgardinslista till höger där du kan välja ditt favoritdesigntema. Om allt är klart, klicka på knappen Ladda ner och hämta arkivet. Widgetens möjligheter kan bedömas på utvecklarens webbplats. Jag ska bara försöka förklara på ryska och på ett så enkelt språk som möjligt hur man får det hela att fungera.

Så först i HEAD-sektionen måste du ansluta flera filer som finns i arkivet.

Först inkluderade vi widgetstilfilen, sedan jQuery-biblioteksfilen. Den tredje inkluderade filen behövs för att implementera Autocomplete.

Widgeten Autoslutförande kräver inte komplex HTML-uppmärkning. Bara ett textinmatningsfält räcker, d.v.s. ett vanligt inmatningselement som har ett textvärde i sitt typattribut. Ytterligare markeringar kan läggas till för att utforma det enligt ditt valda tema.

Taggar:

Låt oss först titta på det enklaste fallet med att använda en widget - när lokal data används för att generera en lista med tips.

$(function())( var availableTags = ["ActionScript","AppleScript","Asp","BASIC", "C","C++","Clojure","COBOL","ColdFusion","Erlang" , "Fortran", "Groovy","Haskell","Java","JavaScript","Lisp","Perl","PHP", "Python","Ruby","Scala","Scheme"]; ("#taggar").autocomplete((källa: tillgängligaTaggar ));

En array med tips har förberetts i variabeln availableTags. Sedan valde vi inmatningselementet med dess identifierare och använde autocomplete-metoden, som omedelbart skickades ett objekt med inställningarna. För närvarande är detta ett objekt med en enda egenskap, source , som anger källan till data. I vårt fall är arrayen tillgängligaTags specificerad.

Faktum är att vi kan anpassa widgeten lite med hjälp av andra egenskaper för inställningsobjektet. Här är en lista över dessa egenskaper:

source – alternativet har inget standardvärde och måste definieras. Alternativvärdet kan vara en sträng, array eller funktion. I vilket fall som helst måste datakällan anges i detta alternativ.
minLength - standardvärdet är 1. Detta alternativ anger antalet tecken som måste anges i inmatningsfältet innan verktygstips aktiveras. Värdet 0 är användbart när du använder lokal data för listor med flera positioner. Detta värde bör ökas vid användning av förfrågningar till servern för att hämta data och vid användning av stora listor, där ett inmatat tecken kan motsvara flera tusen poster.
fördröjning – standardvärdet är 300. Det här alternativet anger antalet millisekunder som måste passera efter att du tryckt på nästa tangent för att begäran om att ta emot data ska aktiveras. Ett värde på noll är vettigt när du använder lokal data. När du använder serverfrågor kan ett nollvärde i detta alternativ orsaka allvarlig belastning
appendTo – standardvärde 'body'. Värdet på detta alternativ kan vara en jQuery-väljare. Bestämmer vilket element som listrutan med verktygstips ska läggas till.
inaktiverad – standardvärdet är falskt. Om den är inställd på sant, kommer widgetfunktionen för autoslutförande inte att vara tillgänglig vid initiering, men kan aktiveras senare, till exempel när något villkor är uppfyllt.

$(function())( var availableTags = ["ActionScript","AppleScript","Asp","BASIC", "C","C++","Clojure","COBOL","ColdFusion","Erlang" , "Fortran", "Groovy","Haskell","Java","JavaScript","Lisp","Perl","PHP", "Python","Ruby","Scala","Scheme"]; ("#tags").autocomplete((källa: tillgängligaTaggar, välj: function(event, ui) ( alert("Event: " + event.type + ",\nvalue: " + ui.item.value); ) ) ); ));

Här lade vi till en select-egenskap, där vi definierade en funktion som kommer att anropas när användaren väljer ett värde från listan med verktygstips. funktionen tar två argument: det första är ett händelseobjekt, det andra är ett speciellt ui-objekt. Genom att organisera tillgången till egenskaperna för dessa objekt kan du få användbar information (vi visar den i varningsfönstret).

Detta är inte den enda händelsen som widgeten kan svara på - här är en komplett lista över dem, som visar namnet på egenskapen i objektet med inställningar, namnet på händelsen i event.type och beskrivningen av händelsen:

skapa händelse skapa automatiskt inträffar vid initialiseringsögonblicket.
sök – händelse autoslutför sökning inträffar innan begäran verkställs. Om funktionen som definieras i det här alternativet returnerar false, kommer begäran inte att skickas.
öppet – event autoslutförande öppnas inträffar i det ögonblick då listrutan med tips öppnas.
fokus – händelse autoslutför fokus inträffar när ett av tipslistans objekt får fokus.
välj – händelse autoslutför val inträffar när ett av tipslistans objekt väljs.
nära – händelse autoslutför stäng inträffar när listan med tips stängs. Händelsen inträffar oavsett om något av objekten valdes eller inte.
förändring – händelse automatisk komplettering inträffar efter att ett av listobjekten har valts. Händelsen inträffar alltid efter stängning.

Widgeten har också några metoder med vilka du kan utöka dess funktionalitet ytterligare.

Lägg till exempel till ett par knappar i HTML-uppmärkningen:

Sök "som" Stäng Taggar:

Och här är JS-koden:

$(function())( var availableTags = ["ActionScript","AppleScript","Asp","BASIC", "C","C++","Clojure","COBOL","ColdFusion","Erlang" , "Fortran", "Groovy","Haskell","Java","JavaScript","Lisp","Perl","PHP", "Python","Ruby","Scala","Scheme"]; ("#tags").autocomplete(( source: availableTags, minLength: 0 )); $("#search").click(function())( $("#tags").autocomplete("sök", " som "); )); $("#close").click(function())( $("#tags").autocomplete("stäng"); )); ));

Nu, genom att klicka på knappen Sök efter "som" kan vi simulera användarens handlingar som om han hade skrivit in tecknen "som" i inmatningselementet. Genom att klicka på knappen Stäng stänger vi listan med tips, om den har öppnats tidigare.

Nedan finns beskrivningar av alla tillgängliga metoder:

destroy – .autocomplete('destroy') tar helt bort all funktionalitet i autokompletteringswidgeten. Returnerar element till deras förinitieringstillstånd.
disable – .autocomplete(‘disable’) inaktiverar tillfälligt all widgetfunktionalitet. Du kan aktivera det igen med enable-metoden.
enable – .autocomplete('enable') tillåter användning av all widgetfunktion om den tidigare inaktiverats med inaktiveringsmetoden.
option – .autocomplete('option', optionName, ) med den här metoden kan du ställa in värdet för alla widgetalternativ efter initialisering.
option – .autocomplete('option', optionName) med den här metoden kan du få värdet av alla widgetalternativ efter initialisering.
widget – .autocomplete('widget') Denna metod kan användas för att komma åt ett objekt som representerar ett element med Autocomplete-funktionalitet.
search – .autocomplete('search, ') Med den här metoden kan du öppna hela listan utan att skicka den andra parametern. Om du skickar en teckensträng i den andra parametern kommer en lista med lämpliga tips att öppnas.
close – .autocomplete('stäng') stänger verktygstipslistan om den tidigare har öppnats.

I allmänhet vet vi nu hur man konfigurerar och hanterar widgeten, men hittills har vi uteslutande använt lokal data för att generera en lista med tips. Det är lämpligt för att utforska möjligheter, men osannolikt för riktigt arbete. I verkligt arbete kommer du förmodligen att behöva generera tips från data lagrad på din egen server, och kanske inte alls på egen hand

Källalternativet, som, låt mig påminna dig, är obligatoriskt och definierar datakällan, kan också acceptera en rad som innehåller webbadressen till vilken begäran ska skickas. Och i källkod kan du definiera din egen funktion som gör det du behöver. Detta är kanske den mest flexibla metoden som vi kommer att analysera. Låt oss försöka få lite data från geonames.org-servern i form av en lista med tips

Jag kommer att tillhandahålla en fullt fungerande kod och försöka förklara hur och vad som fungerar.

exempel-17-8-4 .ui-autocomplete-loading ( bakgrund: #FFF url("/instruction/2011/css/ui-lightness/images/ui-anim_basic_16x16.gif") höger mitt no-repeat; ) #city ( width: 25em; ) #log ( höjd: 200px; bredd: 600px; overflow: auto; ) $(function() ( $("#city").autocomplete((källa: function(request,response) ( $. ajax(( url: "http://ws.geonames.org/searchJSON", dataType: "jsonp", data: ( featureClass: "P", stil: "full", maxRows: 12, name_startsWith: request.term ) , framgång: function(data) ( response($.map(data.geonames, function(item) ( return ( label: item.name + ", " + item.countryName, value: item.name + " (" + item) .countryName + ")" + " [" + item.lat + ", " + item.lng + "]" ) ) )), minLength: 3, välj: function(event,ui) ( $("

").text(ui.item ? ui.item.value: "Inget valt!").prependTo("#log"); $("#log").attr("scrollTop", 0); ) ) ) ; )); Stad:
Stöds av geonames.org

Först tittar vi på HTML-uppmärkningen. I det första div-elementet är vi bara intresserade av input-elementet med id city . Här kommer vi att skriva in initialbokstäverna (på latin) för den ort som vi vill få information om. Vi använder div-elementet med identifierarloggen för att mata in den mottagna informationen i den.

Om vi ​​tittar på JavaScript-koden kommer vi att se att inställningsobjektet innehåller tre egenskaper - den nödvändiga källegenskapen, samt egenskaperna minLength och select.
Vi tar bara hänsyn till källegenskapen, där du kan skriva din egen funktion. Denna funktion tar två argument. Det första argumentet är request, ett objekt som innehåller en enda egenskap, term, som lagrar strängen som användaren anger i inmatningsfältet. Det andra argumentet är respons - en funktion med vilken det mottagna svaret kommer att behandlas.

Inuti funktionen som definieras i källegenskapen har vi nästan obegränsad handlingsfrihet. Och därför, utan vidare, skriver vi där en ajax-förfrågan till webbadressen http://ws.geonames.org/searchJSON, i alternativet dataType anger vi att vi förväntar oss att få data i JSON-format i svaret. I dataalternativet definierar vi ett objekt med begäran parametrar som kommer att skickas till den angivna url ( varför parametrarna är exakt så här - du måste titta på API-dokumentationen på geonames.org-servern). I den sista parametern skickar vi request.term – vad användaren skrev in.

I nästa alternativ av ajax-förfrågan - framgångsalternativet, kallar vi svarsbearbetningsfunktionen svar . I argumentet som vi skickar till den här funktionen kan vi behandla data som tas emot i serversvaret på vilket sätt vi vill. Vi använder metoden $.map för att tillämpa någon funktion på varje element i objektet som skickas i det första argumentet. Inuti funktionen kan vi komma åt egenskaperna för objektet - item.countryName, item.lng, item.lat ( varför egenskaperna är som de är - se API-dokumentationen som tillhandahålls av webbtjänsten). Funktionen vi skrev, för varje element, returnerar ett objekt som innehåller två egenskaper som vi definierat själva med den mottagna datan. Från den resulterande uppsättningen av sådana objekt konstrueras en lista med tips.

I allmänhet, något sånt här... Sammanfattningsvis en stor mänsklig begäran - i kommentarerna, snälla, kan du berömma eller skälla i princip. Om du vill ställa en teknisk fråga, ställ den på