Autor Zpráva
piggy
Profil
Zdravím Vás,

chcel by som vás poprosiť o pomoc. Ide o to, že akým spôsom by som dosiahol toho, aby sa mi pri výbere položky zo <select>u nastavil atribut na <input>e (nastavenie maximálneho čisla, ktoré môžem zapísať do <input>u, toto čislo by sa získavalo z databázy).

Vytváram jeden skript, ktorý ma funkciu "skladu". Naplním ho tovarom a potom ho priradujem uživateľom a treba zabezpečiť to, aby som nemohol priradiť väčsí počet ako je na "sklade".

Pre lepšie pochopenie prikladám príklad:
<select id="item" name="item">    
<option value="1">PTP 130</option>
<option value="2">PTP 400</option>
<option value="3">PTP 600</option>
</select>

 <tr><td>Množstvo:</td><td><input type="text" id="amount" name="amount" size="3" min="1" max="?"></td></tr>

Atribut max, by sa mal dynamicky meniť podľa toho, akú hodnotu vyberiem zo <select>u.
Ďakujem za každú pomoc.
Radek9
Profil
piggy:
Použij na select onchange a načítej to:
document.formular.item.onchange = function(){
  ajaxFunkce("script.php?id="+this.value, function(data){
    data = JSON.parse(data);//Popřípadě eval("("+data+")")
    document.formular.amount.min = data.min;
    document.formular.amount.max = data.max;
  });
}
Chamurappi
Profil
Reaguji na piggyho:
Připadá mi nesmyslné používat na toto AJAX.
piggy
Profil
Chamurappi:
Ak sa môžem spýtať čo by si potom v tomto prípade použil ?
Radek9
Profil
piggy:
Ono by asi bylo lepší si to načíst pomocí php rovnou do JS kódu:
var itemData = <?php echo json_encode($poleHodnot); ?>;
document.formular.item.onchange = function(){ 
    document.formular.amount.min = itemData[this.value].min;
    document.formular.amount.max = itemData[this.value].max;
}

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: