» »

php kaj je narobe?

php kaj je narobe?

sebavet ::

Zanima me kaj delam narobe, da, ko izberem drugo opcijo v selectu (ki bi po moji kodi morala imeti value=1, prva ima vrednost=0) ne prikaže skritega diva?

...<?php
		echo "<select name = 'test' id='test' type='text' placeholder='izberi opcijo' data-native-menu='false'>";
		
$num_rows=mysql_num_rows($result);

for ($i=0;$i<$num_rows;$i++) {
$result_column=mysql_result($result,$i);
		echo "<option value='$i'>",$result_column,"</option>";
 }
echo "</select><br><br>";
mysql_close();
?>
<div id="hidden_div" style="display: none;">Vsebina skritega diva</div>

<script>
document.getElementById('test').addEventListener('change', function () {
    var style = this.value == 1 ? 'block' : 'none';
    document.getElementById('hidden_div').style.display = style;
});
</script>
...



Tam pri
echo "<option value='$i'>",$result_column,"</option>"
mislim, da je neka napaka...

Mesar ::

Poglej v brskalniku kakšno HTML kodo ti generira a ne?
Your turn to burn!

AndrejS ::

morda je problem value='$i' - tukaj bi verjetno rad imel spremenljivko in ne string $i ?

mirancar ::

echo "<option value=\"" . $i . "\">" . $result_column . "</option>";

Mesar ::

Ni to problem če so double-quotes -> http://php.net/manual/en/language.types...
Your turn to burn!

trnvpeti ::

",$result_column,"
. ali , ?

Mesar ::

Odvisno -> http://stackoverflow.com/questions/1466...

Edit: Pa v danem primeru ni to problem.
Your turn to burn!

Zgodovina sprememb…

  • spremenil: Mesar ()

sebavet ::

drugače mi iz baze dobro prebere in nafila v select
sem poskusil tut:
		echo "<option value='",$i,"'>",$result_column,"</option>";

pa ne dela

osnovo sem našel v tem primeru:
http://jsfiddle.net/f4PV4/1/

Zgodovina sprememb…

  • spremenil: sebavet ()

Mesar ::

Nisi odgovoril na vprašanje, kakšen HTML generira tvoja koda? Ni potrebno vse prilepit samo tisto kar je znotraj select tagov.
Your turn to burn!

trnvpeti ::

mirancar ti je ze dal resitev

sebavet ::

@Mesar:


<select name = 'test' id='test' type='text' placeholder='izberi opcijo' data-native-menu='false'><option value="0">prva</option><option value="1">druga</option><option value="2">tretja</option><option value="3">cetrta</option><option value="4">peta</option><option value="5">sesta</option><option value="6">sedma</option><option value="7">osma</option></select><br><br><div id="hidden_div" style="display: none;">Vsebina skritega diva</div>

<script>
document.getElementById('dogodek').addEventListener('change', function () {
    var style = this.value == 1 ? 'block' : 'none';
    document.getElementById('hidden_div').style.display = style;
});
</script>


sem poskusil rešitev minicar, pa ne prikaže diva :(

uporabljam jquery mobile , nisem prej omenil ...

Zgodovina sprememb…

  • spremenil: sebavet ()

Mesar ::

Oh ;(( v JS je problem...

spremeni script:

<script type="text/JavaScript">

document.getElementById('test').addEventListener('change', function () {
    var style = this.value == 1 ? 'block' : 'none';
    document.getElementById('hidden_div').style.display = style;
});

</script>


Problem je v tem, da nisi imel pravega IDja določenga v "document.getElementById('test')" .... EventListener moreš dat na tag select, kateremu dolocis nek ID v tvojem primeru test (select name = 'test' id='test' ..).
Your turn to burn!

Zgodovina sprememb…

  • spremenil: Mesar ()

sebavet ::

spremenil pa nič..

Mesar ::

Your turn to burn!

sebavet ::

ja, dela, torej je verjetno problem jqm

ker na nek drugačen način skriva dive kot plain html

Zgodovina sprememb…

  • spremenil: sebavet ()

Mesar ::

Ja ta koda dela tudi brez jQuerya... pureJS. Kaj si počel okoli tega še z jQuery-em pa ne vem. Lahko je problem že kje prej ali pa kak ID povoziš, odpri kak razhroščevalnik v Firefoxu Orodja -> Spletni razvoj -> Razhroščevalnik, ali pa namesti Firebug. IEja pa se mi tbh zdaj ne da poganjat... no razhroščevalnik ti pomaga ugotovit če si kje druge naredil kakšne napake zaradi katerih se ti lahko vse skupaj ustavi.

PS: jQuery ima čisto druge metode... recimo tukaj najdeš: http://api.jquery.com/hide/ pa tukaj: http://www.w3schools.com/jquery/jquery_...

Pa v tvojem primeru še lahko .click uporabiš: http://api.jquery.com/click/

če že hočeš v jQuery tole rewritat...
Your turn to burn!

Zgodovina sprememb…

  • spremenil: Mesar ()

sebavet ::

hvala bom pogledal.

sebavet ::

ok, če ima kdo kaj izkušenj s jquery mobile me zanima kako naj ob določeni izbrani opciji v selectu onemogoči ali skrije določen input field? je kdo kaj podobnega delal?, ko sem iskal rešitve nisem našel kaj primernega.

alexa-lol ::

Kaj točno je narobe z metodo DIY?

Zaznaš spremembo v selectu in na to reagiraš.
http://jsfiddle.net/8opj243y/

Mesar ::

Mogoče kaj v tej smeri... http://stackoverflow.com/questions/9213...
Your turn to burn!

alexa-lol ::

Kot sem gledal jQuery Mobile dokumentacijo je vse skupaj samo lepa oblekica nad popolnoma "normalnimi" HTML elementi.. kaj točno je težava če zaznavaš dogodek 'change'?