Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
SimonDerDude
Threadersteller
Dabei seit: 15.01.2010
Ort: error: undefined
Alter: 35
Geschlecht:
|
Verfasst Fr 23.04.2010 12:18
Titel Id auslesen JavaScript |
|
|
Tagchen,
ich schreibe bezüglich einer Aufgabe die mir wie Quantenphysik erscheint.
Ich arbeite am Intranet unserer Firma welches ich mit smarty aufgebaut habe.
Ausserdem habe ich es geschafft JQuery Elemente einzubinden.
Eines dieser Elemente dreht sich um das styling für Selectboxen, funktioniert auch wunderbar wenn die Box statisch in der .tpl drin steht.
- Die Seite ist eine "Bestellliste", die erste Selectbox beinhaltet Daten (z.B 2010-03-15).
- Durch klicken eines Datums wird die Liste erzeugt (Tabelle) in welcher sich weitere Selectboxen befinden
Die Ausgabe erfolgt über eine Schleife
Code: | {section name=lo loop=$data.art[0]} |
und endet bei
In der statischen Variante müssen die IDs im script festgehalten, und an die Selectboxen verteilt werden.
Code: | $(document).ready(function(){
$('#my-dropdown, #my-dropdown1, #my-dropdown2').sSelect(); |
Da die Tabelle nun aber ausgegeben wird, kann ich keine IDs vergeben und bin gezwungen diese auszulesen.
Zurzeit sieht es folgendermaßen aus:
Screenshot
Wie soll ich das Problem lösen?
Ich habe in der .class schon folgendes versucht... guter Ansatz?
Code: | function showArt() {
[b]$id = array();[/b]
$arti = array();
$menge = array();
$datum = array();
$statusid = array();
$sql = "SELECT [b]b.id[/b], b.best_id, b.art_id, b.menge, b.datum, a.artikel_id, a.kategorie_id, a.art_name
FROM bestellung b, best_artikel a
WHERE b.art_id = a.artikel_id
AND b.datum = '".$_POST['datums']."' ";
$dab = new Database();
$dab->query($sql);
$res = $dab->getResult();
$dab->dbClose();
if(mysql_num_rows($res) > 0) {
while($row = mysql_fetch_row($res)) {
[b]array_push($id, $row[0]);[/b]
array_push($arti,$row[7]);
array_push($menge,$row[3]);
array_push($datum,$row[4]);
}
}
return array($id, $arti, $menge, $datum);
} |
Wenn ihr mehr Infos braucht sagt bescheid, ich steh aufm Schlauch
edit:
Hier noch html
Code: | <form action="index.php?page=bestellungen&p=bestellliste" method="POST">
Datum wählen:<div id="win-xp">
<select id="my-dropdown" name="datums" onchange="this.form.submit()">
<option value="">Wähle aus</option>
{section name=yo loop=$data.datum[0]}
<option value="{$data.datum[0][yo]}" {if $data.datum[0][yo] eq $data.postdatum} selected{/if}>{$data.datum[0][yo]}</option>
{/section}
</div>
</select>
{if $data.postdatum neq ""}
<br><br><br>
<table id="regular" cellpadding="0">
<tr bgcolor="#f87211"><th class='ttitle'>Artikel</th><th class='ttitle'>Menge</th><th class='ttitle'>Bestelldatum</th><th class='ttitle'>Von</th><th class='ttitle'>Status</th></tr>
{section name=lo loop=$data.art[0]}
<tr bgcolor="{cycle values="#eeeeee, #d0d0d0"}">
<td>{$data.art[1][lo]}</td>
<td>{$data.art[2][lo]}</td>
<td>{$data.art[3][lo]}</td>
<td>s</td>
<td><div id="win-xp"><input type="hidden" name="javaid" value="{$data.art[0][lo]}"><select id="my-dropdown1" name="status">
<option value="">Wähle</option>
<option value="bestellt">Bestellt</option>
<option value="verschickt">Verschickt</option>
</select></div></td>
</tr>
{/section}
</table>
<input class="awesome" type="submit" name="status" value="Status setzen">
{/if}
</form> |
Zuletzt bearbeitet von SimonDerDude am Fr 23.04.2010 12:22, insgesamt 1-mal bearbeitet
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Fr 23.04.2010 13:02
Titel
|
|
|
[/code]nach meinem verständnis müßte das ganze etwa so laufen:
class:
Code: |
<?php
function showArt() {
$produkte = array();
$sql = "SELECT b.id, b.best_id, b.art_id, b.menge, b.datum, a.artikel_id, a.kategorie_id, a.art_name
FROM bestellung b, best_artikel a
WHERE b.art_id = a.artikel_id
AND b.datum = '".$_POST['datums']."' ";
$dab = new Database();
$dab->query($sql);
$res = $dab->getResult();
$dab->dbClose();
if(mysql_num_rows($res) > 0) {
while($row = mysql_fetch_row($res)) {
array_push($produkte,array("id" => $row[0],"artikel" => $row[7],"menge"=>$row[3],"datum"=>$row[4]));
}
}
return $produkte;
}
$smarty->assign('products',showArt());
?>
|
smarty:
Code: |
<table id="regular" cellpadding="0">
<tr bgcolor="#f87211">
<th class='ttitle'>Artikel</th>
<th class='ttitle'>Menge</th>
<th class='ttitle'>Bestelldatum</th>
<th class='ttitle'>Von</th>
<th class='ttitle'>Status</th>
</tr>
{section name=product loop=$products}
<tr bgcolor="{cycle values="#eeeeee, #d0d0d0"}">
<td>{$products[product].artikel}</td>
<td>{$products[product].menge}</td>
<td>{$products[product].datum}</td>
<td>s</td>
<td>
<div id="win-xp">
<input type="hidden" name="javaid" value="{$products[product].id}">
<select id="my-dropdown-{$products[product].index}" name="status">
<option value="">Wähle</option>
<option value="bestellt">Bestellt</option>
<option value="verschickt">Verschickt</option>
</select>
</div>
</td>
</tr>
{/section}
</table>
|
javascript:
Code: |
$(document).ready(function() {
$('#regular select').sSelect();
});
|
ich kenn mich zugegebenermaßen null mit smarty aus. die richtung dürfte aber stimmen
Zuletzt bearbeitet von sahnemuh am Fr 23.04.2010 13:03, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
SimonDerDude
Threadersteller
Dabei seit: 15.01.2010
Ort: error: undefined
Alter: 35
Geschlecht:
|
Verfasst Fr 23.04.2010 13:36
Titel
|
|
|
Eigenartigerweise musste ich nur das einsetzen
Code: | $('#regular select').sSelect(); |
Der Rest konnte beim Alten bleiben.
Besten dank
Dein .class PHP hatte einen kleinen parse Fehler.
Code: | $smarty->assign('products',showArt()); |
muss in die geschweifte Klammer.
Aber sonst gut, für null Ahnung
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Fr 23.04.2010 13:45
Titel
|
|
|
ich hab' in die doku geschaut
noch ein hinweis: im moment haben deine dropdowns alle die selbe id und den selben namen - das dürfte bei der formularverarbeitung arge probleme geben. daher auch meine änderungen an deinem code.
Zuletzt bearbeitet von sahnemuh am Fr 23.04.2010 13:46, insgesamt 1-mal bearbeitet
|
|
|
|
|
SimonDerDude
Threadersteller
Dabei seit: 15.01.2010
Ort: error: undefined
Alter: 35
Geschlecht:
|
Verfasst Fr 23.04.2010 15:21
Titel
|
|
|
Um den Feinschliff kümmere ich mich wenn ich in der Bugfix Phase bin.
Danke für den Hinweis, wollte das Script so wenig wie möglich verändern, eventuell muss ich Klassen verwernden.
Das Dropdown Script ist übelst ausgefuchst, über die Selectbox wird einfach ein <ul> gelegt damit es vollkommen verändert werden kann.
Das Script holt sich dann den Inhalt aus der Box und zeigt diesen unter den <li> an.
Zuletzt bearbeitet von SimonDerDude am Fr 23.04.2010 15:25, insgesamt 1-mal bearbeitet
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Fr 23.04.2010 19:26
Titel
|
|
|
ja, schon klar. die values werden aber bei auswählen eines solchen drodowns zumeist trotzdem wieder in die orginal formularelemente geschrieben. ich kenn' solche scripte und hab' sie auch schon selbst gebaut. um sinnvolle benamung deiner selectboxen wirst du nicht herumkommen.
|
|
|
|
|
|
|
|
Ähnliche Themen |
layerhöhe per javascript auslesen
Javascript: Scrollposition auslesen
(Hilfe) XML Datei mit Javascript auslesen
[JavaScript] - Cookies auslesen / trennen - an ASP übergeben
CSS auslesen per Javascript klappt nicht richtig
[javascript]Script gesucht zum Maße einer mov auslesen
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|