Potrzebuję mieć w formularzu na stronie dwa pola (jedno zależne od drugiego), do tego korzystające z autouzupełnienia.
W tym celu przerobiłam nieco sprypt ze strony http://www.blueicestudios.com/chained-sele...php-mysql-ajax/ . Teraz mam tak:
plik html
<script type="text/javascript" > $(document).ready(function() { $('#wait_1').hide(); $('#drop_1').change(function(){ $('#result_1').hide(); $.get("func.php", { func: "drop_1", drop_var: $('#drop_1').val() }, function(response){ $('#result_1').fadeOut(); setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400); }); return false; }).trigger("change"); //trigger the change event that you just created }); function finishAjax(id, response) { $('#wait_1').hide(); $('#'+id).html(unescape(response)); $('#'+id).fadeIn(); } </script> <form method="post" action=""> <div class="form_left"> </div> <div class="form_right"> <?php getTierOne(); ?> </div> <div class="form_left"> </div> <div class="form_right"> </div> </form>
plik funk.php
<?php function getTierOne() { ?> <script> $(function() { var availableTags = [<?php mysql_connect('localhost', 'root', 'pass') or die(mysql_error()); mysql_select_db('baza') or die(mysql_error());mysql_query('SET NAMES utf8');$result = mysql_query('SELECT DISTINCT opcja1 FROM short') or die(mysql_error());while($tier = mysql_fetch_array( $result )) {echo '"'.$tier['opcja1'].'",';}?>]; $( "#drop_1" ).autocomplete({ source: availableTags }); }); </script> <?php } //************************************** // First selection results // //************************************** drop_1($_GET['drop_var']); } function drop_1($drop_var) { ?> <script> $(function() { var availableTags = [<?php mysql_connect("localhost", "root", "pass") or die(mysql_error());mysql_select_db("baza") or die(mysql_error());mysql_query('SET NAMES utf8');$result = mysql_query("SELECT * FROM short WHERE opcja1='$drop_var'") or die(mysql_error()); while($drop_2 = mysql_fetch_array( $result )) {echo '"'.$drop_2['opcja2'].'",';}?>]; $( "#tier_two" ).autocomplete({ source: availableTags }); }); </script> <?php } ?>
I problem:
W FF śmiga aż miło, natomiast w IE wczytuje się tylko pierwsze pole, drugi zależny input ani drgnie. Pomóżcie proszę.