Probleempje met dropdownbox.
De dropdownbox word gevuld met gegevens van een database.
Zodra iemand een keuze maakt uit een Taqnummer van de dropdownbox komt in het vak ernaast de beschrijving van de daarbij horende Tagnummer.
De code die ik hiervoor gebruik is.:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<td>
<select name="prod" id="Omschrijving" style=" height:26px;">
<option value="" disabled selected="selected[]" multiple="multiple">Tagnummer</option>
<?php
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM Tagnummers where Gedeelte = 'WASTE'";
$q = $pdo->prepare($sql);
$q->execute(array($Id,$Lijn,$Tagnummer,$Omschrijving,$Opmerking));
Database::disconnect();
while ($row = $q->fetch(PDO::FETCH_ASSOC)) {
echo "<option value='" . $row['Omschrijving'] . "'>" . $row['Tagnummer'] . "</option>";}
?>
</select>
</td>
<td>
<script>
$("#Omschrijving").on("change", function(){
var selected = $(this).val();
$("#results").html(" " +selected +" ");
})
</script>
<div id="results" size="25" Style="border: solid black 1px;"> </div>
</td>
<select name="prod" id="Omschrijving" style=" height:26px;">
<option value="" disabled selected="selected[]" multiple="multiple">Tagnummer</option>
<?php
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM Tagnummers where Gedeelte = 'WASTE'";
$q = $pdo->prepare($sql);
$q->execute(array($Id,$Lijn,$Tagnummer,$Omschrijving,$Opmerking));
Database::disconnect();
while ($row = $q->fetch(PDO::FETCH_ASSOC)) {
echo "<option value='" . $row['Omschrijving'] . "'>" . $row['Tagnummer'] . "</option>";}
?>
</select>
</td>
<td>
<script>
$("#Omschrijving").on("change", function(){
var selected = $(this).val();
$("#results").html(" " +selected +" ");
})
</script>
<div id="results" size="25" Style="border: solid black 1px;"> </div>
</td>
Nu wil ik de gekozen Taqnummer wat in de dropdown gekozen word opslaan in een database.
Als ik dus Omschrijving gebruik krijg ik niet het nummer maar de omschrijving in mijn database als resultaat, normaal omdat hij deze als value heeft.
Is er toch een mogelijkheid om dat taqnummer ook erbij te krijgen om dat op te slaan?
Gewijzigd op 03/11/2018 17:10:07 door Pascal Schuffelers
Je gebruik de id van de dropdown box om de waarde op te vangen van de value die gekozen is om op te slaan in de db.
Hoe wil ik die text dan ervan op slaan?
Met een INSERT-query.
Maar hoe haal ik die waarde op om in die insert te zetten?
Dit script haalt nu de text eruit.:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<script>
$(document).ready(function(){
$('#WasteW').on('change',function(){
var optionText = $("#WasteW option:selected").text();
$("#resultww1").html(" " +optionText +" ");
});
});
$(document).ready(function(){
$('#WasteW').on('change',function(){
var optionText = $("#WasteW option:selected").text();
$("#resultww1").html(" " +optionText +" ");
});
});
en in deze regel word nu dankzij @Adoptive de tekst getoond.:
Maar hoe krijg ik die text in mijn insert? zoiets?
Maar dat laat niets zien.
Als ik toch de value zo kan uitlezen , zou het toch ook moeten kunnen met de text op een makkelijker manier, maar schijnbaar niet.
[update]
Ik heb het opgelost, dit verdiend absoluut geen schoonheidsprijs , maar het werkt wel voor dit stukje.:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<script>
$("#WasteW").on("change", function(){
var selected = $(this).val();
var optionText = $("#WasteW option:selected").text();
$("#resultsw").html(" " +selected +" ");
document.getElementById("myText").value = optionText;
})
</script>
<div id="resultsw" size="25" Style="border: solid black 1px;"> </div>
<input type="hidden" id="myText" name="TagWW" value="" >
$("#WasteW").on("change", function(){
var selected = $(this).val();
var optionText = $("#WasteW option:selected").text();
$("#resultsw").html(" " +selected +" ");
document.getElementById("myText").value = optionText;
})
</script>
<div id="resultsw" size="25" Style="border: solid black 1px;"> </div>
<input type="hidden" id="myText" name="TagWW" value="" >
Door een hidden input box te maken en door java het nummer erin te zetten.
Zo kan ik via de name van de input box de waarde in de db opslaan en het werkt.
Gewijzigd op 03/11/2018 21:04:11 door Pascal Schuffelers