Har ett litet delikat js problem..
Via ett asp script skapar jag massa div block, dessa block kan användaren sedan flytta runt på sidan. När detta är gjort ska jag spara varje div blocks position och skapa en sträng som sedan skickas..
så varje block som skapas får ett id exempel:
<div id="tid20"></div>
<div id="tid21"></div>
<div id="tid22"></div>
Så min fråga är om det på något sätt går att loopa igenom alla div taggar som börjar med "tid" för att sedan plocka ut numret och sedan blocket position (x,y)
Jag har ju kommit på hur man får fram positionen men det svåra är ju att på något sätt ta fram alla divar???
så få du ut en collection av jquery object som du kan jobba med.
Annars om du vill göra det för hand så få du hämta ut alla element som är av typen div (document.getElementsByTagName("div")) och loopar ut dom och kolla deras id om substringen på den är tid
Fick jquery förslaget på annat håll också men kan inte det alls..
Men ditt andra alternativ där då, det låter ju mer passande för mig.
kan jag göra enligt följande:
for each object in document.getElementsByTagName("div")
loop
Hur gör man i javascript om jag vill kolla en sträng efter ett ord, alltså om object innehåller "tid"?
objektet (object, är nog inte det smartaste namnet på det) har .id som property, kolla substring på den strängen som .id retunera, men först kollar du om den faktist innehåller något.
trust me, jquery varianten är mycket bättre, speciellt om du skall jobba med att få reda på var elementen faktiskt är på sidan sen.
var
div = document.getElementsByTagName("div"),
d = [];
for(var i=0,l=div.length;i<l;i++) {
var el = div[i];
if(el.id && el.id.substring(0,3) === "tid") {
d.push(el)
}
}
där d har en lista med alla divar som har ett id som börjar med tid.
Precis så ska dte vara. Nu byter jag ut din "push" som jag antar är ett kommando för att fylla på en array mot en sträng som jag fyller på med id samt, top och left position.
Men hur gör jag för att klippa ut "tid" från id'et så att jag bara får själva talet?
Varje id heter ju något i stil med "id12" så jag vill få fram just talet 12
tanken är att anropet ska bli typ savePos.asp?tid12=tid12&width12=200&height12=100 osv..
Tänkte nämligen skicka positionen från alla divar till ett asp script som sparar dessa i en databas..
Detta är tänkt som en lastplanerings funktion så att den som jobbar med det får alla pallar på en order som ska lastas på ett släp och dessa visas som "div" block som kan flyttas runt och då kan bestämma hur dessa och vilken ordning det ska placerass i för att sedan skriva ut.. (var en lite kul ide jag fick :))
rätt tänk eller skulle man gjort det på ett annat sätt?
Men hur gör jag för att klippa ut "tid" från id'et så att jag bara får själva talet?
Varje id heter ju något i stil med "id12" så jag vill få fram just talet 12
tanken är att anropet ska bli typ savePos.asp?tid12=tid12&width12=200&height12=100 osv..
Kör en replace på tid => '' så få du ju ut ditt tal.
a jag tänkte mest på i javascriptet att jag behövde klippa ut talet men hittade något som hette substring och det funkade... asp koden ska nog lösa sig..
tycker du att det är en vettig lösning att göra så som jag gjort för själva lastplaneringen eller är feltänk??
hahaha så lite man vet... sökte lite på sträng formatering i javascript men lyckades aldrig hitta repalce :) då kan jag ju modifiera min kod lite istället för att använda substring och length m.m....
tack för hjälpen
612 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849