Jeżeli komuś się nie chce czytać to:
Potrzebowałem zrobić pole input zależne od wartości selecta pobierającego opcję z bazy. Kolega jaslanin podał mi taki kod.
index.php:
ajax.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <title>Untitled Document</title> </head> <body> <script type="text/javascript"> $(document).ready(function() { $('select.selectField').change(function() { $.getJSON('ajax.php', {option: $(this).val()}, function(data) { $('input.inputField').val(data.inputValue); }); }); }); </script> <select class="selectField"> <option>Wybierz</option> <option value="opcja 1">opcja 1</option> <option value="opcja 2">opcja 2</option> <option value="opcja 3">opcja 3</option> </select> <input style="width: 300px;" class="inputField" type="text" /> </body> </html>
ajax.php :
<? $option = $_GET['option']; $a = new stdClass(); $a->inputValue = "selected option: $option"; ?>
Jednak problem w tym, że mam formularz generowany dynamicznie. I teraz potrzebowałbym, żeby ten kod mógł działać w ten sposób, że przy wyborze danego selecta generowany jest dany input, tzn.
1. Pobieram dana z selecta <select name="sel[x]">
2. Odpowiednim zapytaniem wyciagam potrzebna dana w pliku ajax.php
3.Przesyłam ją z powrotem do formularza i wstawiam w input <input name="inp[x]">. Nie znam się za bardzo na js więc będę wdzięczny za każdą pomoc