PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1 2 
kuidas välja kuvada selekteeritud valik?
Postitaja: Mario 2016-07-26 08:38:20
Vaja oleks nimekirjast valitud rida välja kuvama panna input elemendi atribuuti placeholder. Kuidas seda teha pole aimugi. olen juba ligi nädal pead murdnud. Ehk saan siit targematelt abi.

<select name="nimetus" id="nimetus">

PHP kood:
<?php $q3=mysql_query("SELECT * FROM tz_teenused"); while($f3=mysql_fetch_array($q3)){ $teenus=$f3['liik']; ?>  
<option value="<?php echo $f3['liik']; ?>"><?php if($f3['id']=='$teenus'){ echo "selected"; } ?><?php echo $f3['liik']; ?></option><?php ?>

</select>

<input type="text" name="liik" placeholder="">
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: peaminister(R) 2016-07-26 12:10:41
TSITEERITUD:
Vaja oleks nimekirjast valitud rida välja kuvama panna input elemendi atribuuti placeholder. Kuidas seda teha pole aimugi. olen juba ligi nädal pead murdnud. Ehk saan siit targematelt abi.

<select name="nimetus" id="nimetus">

PHP kood:
<?php $q3=mysql_query("SELECT * FROM tz_teenused"); while($f3=mysql_fetch_array($q3)){ $teenus=$f3['liik']; ?>  
<option value="<?php echo $f3['liik']; ?>"><?php if($f3['id']=='$teenus'){ echo "selected"; } ?><?php echo $f3['liik']; ?></option><?php ?>

</select>

<input type="text" name="liik" placeholder="">
dsiikuieriga nt: &#163;("input").attr('placeholder', $("#nimetus option:selected").text());
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: Mario 2016-07-26 12:33:49
TSITEERITUD:
dsiikuieriga nt: &#163;("input").attr('placeholder', $("#nimetus option:selected").text());



Kas oleksid nii hea ja saaksid mulle kirjutada koodi, kuidas see tervikuna välja peaks nägema. Kas ma peaksin muutma ka <select> tagis midagi või kuhu ma selle paigutan?
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: peaminister(R) 2016-07-26 13:54:49
pane alltoodu kuhugi lõpu poole

<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script type="text/javascript">
$("#nimetus").change(function(){
$("input").attr('placeholder', $("#nimetus option:selected").text());
});
</script>
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: ... 2016-07-26 17:58:36
if($f3['id']=='$teenus'){ echo "selected"; }

see dollarimärgiga $teenus tuleks vist ülakomadest eemaldada:
if($f3['id']==$teenus){ echo "selected"; }
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: asd 2016-07-26 19:32:33
TSITEERITUD:
Vaja oleks nimekirjast valitud rida välja kuvama panna input elemendi atribuuti placeholder. Kuidas seda teha pole aimugi. olen juba ligi nädal pead murdnud. Ehk saan siit targematelt abi.

<select name="nimetus" id="nimetus">

PHP kood:
<?php $q3=mysql_query("SELECT * FROM tz_teenused"); while($f3=mysql_fetch_array($q3)){ $teenus=$f3['liik']; ?>  
<option value="<?php echo $f3['liik']; ?>"><?php if($f3['id']=='$teenus'){ echo "selected"; } ?><?php echo $f3['liik']; ?></option><?php ?>

</select>

<input type="text" name="liik" placeholder="">

kas päringu ja väljastamise loogikaga on kõik ok?
kas 'id' võib olla võrdne mingi 'liik''ga?

php +html osa saab lihtsamaks teha

PHP kood:
<?php
$option 
'';
$q3 mysql_query("SELECT * FROM tz_teenused"); 
while(
$f3 mysql_fetch_array($q3)){
    
$option .= '<option value="'.$f3['liik'].'"'.($f3['id'] == $f3['liik']?" selected":"").'>'.$f3['liik'].'</option>';
}
?>
<input type="text" name="liik" placeholder="">
<select name="nimetus" id="nimetus">
    <?= $option ?>
</select>


ja peaminister(R)'i jQuery lisa õige
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: peaminister(R) 2016-07-26 20:08:21
TSITEERITUD:

kas päringu ja väljastamise loogikaga on kõik ok?
kas 'id' võib olla võrdne mingi 'liik''ga?

php +html osa saab lihtsamaks teha

PHP kood:
<?php
$option 
'';
$q3 mysql_query("SELECT * FROM tz_teenused"); 
while(
$f3 mysql_fetch_array($q3)){
    
$option .= '<option value="'.$f3['liik'].'"'.($f3['id'] == $f3['liik']?" selected":"").'>'.$f3['liik'].'</option>';
}
?>
<input type="text" name="liik" placeholder="">
<select name="nimetus" id="nimetus">
    <?= $option ?>
</select>


ja peaminister(R)'i jQuery lisa õige
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: peaminister(R) 2016-07-26 20:10:13
miskit kadus postitamisega ära, proovin uuesti
TSITEERITUD:

kas päringu ja väljastamise loogikaga on kõik ok?
kas 'id' võib olla võrdne mingi 'liik''ga?

php +html osa saab lihtsamaks teha

PHP kood:
<?php
$option 
'';
$q3 mysql_query("SELECT * FROM tz_teenused"); 
while(
$f3 mysql_fetch_array($q3)){
    
$option .= '<option value="'.$f3['liik'].'"'.($f3['id'] == $f3['liik']?" selected":"").'>'.$f3['liik'].'</option>';
}
?>
<input type="text" name="liik" placeholder="">
<select name="nimetus" id="nimetus">
    <?= $option ?>
</select>


ja peaminister(R)'i jQuery lisa õige



PHP kood:
 
$c3 
= new PDO sprintf 'mysql:unix_socket=%s;dbname=%s'trim ( `mysql_config --socket` ), 'mysqldatabase' ), 'mysqluser''mysqlpass', array ( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8' ) );
$c3 -> setAttribute PDO :: ATTR_ERRMODEPDO :: ERRMODE_EXCEPTION );

$s3 $c3 -> prepare "SELECT * FROM tz_teenused" );
$s3 -> execute ();

$option '';
foreach ( 
$s3 -> fetchAll PDO :: FETCH_ASSOC ) as $f3 ) { $option .= '<option value="'.$f3['liik'].'"'.($f3['id'] == $f3['liik']?" selected":"").'>'.$f3['liik'].'</option>'; }

RE: kuidas välja kuvada selekteeritud valik?
Postitaja: peaminister(R) 2016-07-26 20:12:14
see viimane postitus oli ajendatud sellest, et mysql_* funktsioonid pole enam uuema php versiooniga (php7) saadaval, kasuta pdo_mysql selle asemel
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: Mario 2016-07-27 10:44:42
Kuid lõpp küsimus siis ikkagist :) kuidas ma selle tehtud valiku saan placeholderisse kuvama panna ?
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: peaminister(R) 2016-07-27 12:22:58
TSITEERITUD:
Kuid lõpp küsimus siis ikkagist :) kuidas ma selle tehtud valiku saan placeholderisse kuvama panna ?
sul on siin kõik olemas, pane asjad kokku ja toimib, kui aru ei saa, alusta lugemist http://php.net/manual/en/ ja http://api.jquery.com/
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: Mario 2016-07-27 12:42:58
TSITEERITUD:
sul on siin kõik olemas, pane asjad kokku ja toimib, kui aru ei saa, alusta lugemist http://php.net/manual/en/ ja http://api.jquery.com/


Põhimõtteliselt on olemas küll kogu info ja töötab ka kuid, seda mida lõpp kokkuvõttes vajan, sellest meisterdada ei oska.

Minu lõpp lahendus oleks vaja teha selline. Kui valitakse klient, siis kontrollitakse andmebaasist tz_kliendid tabelist kas veerus "vvvs_1" == 1 või mitte ning siis kui võrdub 1, kuvatakse tekst <input> tagi placeholder atribuuti "Kuupäev on valitud automaatselt" ja kui ei võrdu 1 kuvatakse tekst "Kuupäev tuleb sisestatakse käsitsi". Kuidas seda teha saaks, kasutades siis ära üleval pool toodud javascripti ning siin välja käidud php koodi

RE: kuidas välja kuvada selekteeritud valik?
Postitaja: peaminister(R) 2016-07-27 12:51:49
loe natuke manuaale ja katseta, saad tehtud küll, kui ise ei viitsi mõelda, telli see töö
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: Mario 2016-07-27 13:22:12
TSITEERITUD:
loe natuke manuaale ja katseta, saad tehtud küll, kui ise ei viitsi mõelda, telli see töö


Mõelda viitsin küll ja juba nädala selle kallal nokitsetud, kuid kiilub kinni lihtsalt mõistus. Kuna saan aru, et see mida tahan ei ole päris nii lihtne
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: peaminister(R) 2016-07-27 13:55:15
TSITEERITUD:


Mõelda viitsin küll ja juba nädala selle kallal nokitsetud, kuid kiilub kinni lihtsalt mõistus. Kuna saan aru, et see mida tahan ei ole päris nii lihtne
jah, see pole lihtne, aga kui mõistad elementaarset progemist, saad tunniga tehtud

NB! kõige olulisem on enda jaoks defineerida ülesanne, kui ülesanne on piisavalt täpselt defineeritud, on osa lahendusest juba tehtud :)
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: Mario 2016-07-27 14:37:50
TSITEERITUD:
jah, see pole lihtne, aga kui mõistad elementaarset progemist, saad tunniga tehtud

NB! kõige olulisem on enda jaoks defineerida ülesanne, kui ülesanne on piisavalt täpselt defineeritud, on osa lahendusest juba tehtud :)


enda peas on küll ülesanne täpselt defineeritud, kuid ei oska seda panna ilmselt php-sse või javascripti

ülejäänud oleks juba lihtsam, kui saaks kätte sellest samast valikust, mis teen ka "vs_1" veeru info andmebaasist, ülejäänuga saaksin hakkama
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: pm(R) 2016-07-27 17:02:42
TSITEERITUD:

ülejäänud oleks juba lihtsam, kui saaks kätte sellest samast valikust, mis teen ka "vs_1" veeru info andmebaasist, ülejäänuga saaksin hakkama
sry, aga ma ei saa sellest lausest midagi aru, mida sa teha tahad.

kujuta ette, et sul on samasugune tekst matemaatika tekstülesandes, kas sa oskaksid seda lahendada? mina ei oskaks, sest ma ei saa arugi, mida küsitakse

kordan veelkord, sõnasta oma ülesanne täpselt, vastused loed juba samast tekstist välja
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: asd 2016-07-27 17:26:09
võta paber ja pliiats, joonista plokk-skeem, siis saad aru, mis-kus-kuidas.
sul on loogilise vead sees
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: Mario 2016-07-28 09:41:08
TSITEERITUD:
sry, aga ma ei saa sellest lausest midagi aru, mida sa teha tahad.

kujuta ette, et sul on samasugune tekst matemaatika tekstülesandes, kas sa oskaksid seda lahendada? mina ei oskaks, sest ma ei saa arugi, mida küsitakse

kordan veelkord, sõnasta oma ülesanne täpselt, vastused loed juba samast tekstist välja


Teen siis puust ja punaselt ette asja.

Mul on andmebaasis tabel sellisel kujul:

CREATE TABLE IF NOT EXISTS `tz_kliendid` (
`id` int(10) NOT NULL,
`klient` varchar(255) NOT NULL,
`vnimi` varchar(255) NOT NULL,
`vs_1` varchar(255) NOT NULL,
`stamp` varchar(255) NOT NULL)

klient = ettevõtte nimi
vnimi = väljakuvatav hüüdnimi
vs_1 = näitab kas kaup on välja saadetud või mitte. 0=ei ole välja saadetud, 1=on välja saadetud
stamp = timestamp

Kasutan php koodi, et välja tuua andmebaasi tabelist "tz_kliendid" olev valik:


PHP kood:
<?php $option ''$q3 mysql_query("SELECT * FROM tz_kliendid"); while($f3 mysql_fetch_array($q3)){ 
$option .= '<option value="'.$f3['klient'].'"'.($f3['id'] == $f3['klient']?" selected":"").'>'.$f3['klient'].'</option>'; } ?> 
<select name="nimetus" id="nimetus"> <?= $option ?> </select>


Igal kliendil on "tz_kliendid" tabelis "vs_1" veerus järgi kas 0 või 1.

Kodulehel on kaks lahtrit. Esimene lahter, kus ta valib kliendi ja teine lahter, kus ta peab sisestama kuupäeva, juhul kui valitud kliendil "vs_1=0". Kui "vs_1=1" siis ta kuupäeva sisestama ei pea.

Teine lahter on kujul <input type="text" name"klient" placeholder"">.

Soovin teha nii, et kui valin kliendi, siis teise lahtrisse "placeholder" atribuuti ilmub vastavalt kas siis kliendil on tabelis "vs_1" märgitud 0 või 1 järgmine tekst: kui on "0" siis placeholderis kuvatakse "PEATE SISESTAMA KUUPÄEVA", kui on märgitud "1" siis placeholderis kuvatakse "KUUPÄEV ON SISESTATUD AUTOMAATSELT"

Nüüd minu jaoks ongi kõige raskem osa see, et kuidas ma saan kätte valitud kliendi "vs_1" info ja selle vastavalt placeholderisse kuvama panna nii nagu üleval mainisin?
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: peaminister(R) 2016-07-28 16:04:04
Näed siis, kui hea on asjad kirja panna :)

nagu ma aru saan, sind huvitab kliendi juures 3 tunnust:

- kliendi id
- klient
- vs_1

need saad päringuga

select id, vnimi, vs_1 from tz_kliendid order by vnimi asc


kliendi valik menüüst toimub klikiga

$("select#nimetus").click();


et mitte teha veel üht päringut vs_1 kohta:

select vs_1 from tz_kliendid where id = :id


oled esimes päringuga kõik vajaliku baasist pärinud,
sind huvitab, kuhu panna kliendi vs_1 väärtus

on mitmeid variante, nt option.value väärtuses on mõlemad asjad koos:

<select id="nimetus">
<option value="13:1">Karu Kati AS</option>
<option value="5:0">Karu Mati AS</option>
<option value="76:1">Rebase Rein OÜ</option>
</select>

või kasutad data-* atribuuti

<select id="nimetus">
<option value="13" data-va_1="1">Karu Kati AS</option>
<option value="5" data-va_1="0">Karu Mati AS</option>
<option value="76" data-va_1="1">Rebase Rein OÜ</option>
</select>

esimesel juhul saad kliendi id ja vs_1 väärtused kätte nii:

var id = $("#nimetus option:selected").val().split(":")[0];
var vs_1 = $("#nimetus option:selected").val().split(":")[1];

teisel juhul

var id = $("#nimetus option:selected").val();
var vs_1 = $("#nimetus option:selected").data('vs_1');


sckript võiks välja näha nii:

<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script type="text/javascript">

$("#nimetus").click(function(){

// esimene variant
switch ($(this).val().split(":")[1]){
// millegipärast on sul vs_1 väärtused tekstina ?!?
// kui nii, siis pead ka javascriptis neid tekstina käsitlema
case '0':
$("input").attr('placeholder', 'PEATE SISESTAMA KUUPÄEVA');
break;
case '1':
$("input").attr('placeholder', 'KUUPÄEV ON SISESTATUD AUTOMAATSELT');
break;
}

// teine variant
switch ($(this).data('vs_1')){
case '0':
$("input").attr('placeholder', 'PEATE SISESTAMA KUUPÄEVA');
break;
case '1':
$("input").attr('placeholder', 'KUUPÄEV ON SISESTATUD AUTOMAATSELT');
break;
}

});

</script>

RE: kuidas välja kuvada selekteeritud valik?
Postitaja: Mario 2016-07-30 11:28:41
Mul vist on midagi valesti? ,et ei tööta


<select name="nimetus" id="nimetus">
<?php $q3 = mysql_query("SELECT id, vnimi, vs_1 FROM tz_kliendid ORDER BY vnimi ASC");
while($f3 = mysql_fetch_array($q3)){ ?>

<option value="<?php echo $f3['id'].':'.$f3['vs_1']; ?>"><?php echo $f3['vnimi']; ?></option><?php } ?></select>

<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script type="text/javascript">
var id = $("#nimetus option:selected").val().split(":")[0];
var vs_1 = $("#nimetus option:selected").val().split(":")[1];

$("#nimetus").click(function(){
switch ($(this).val().split(":")[1]){
case '0':
$("input").attr('placeholder', 'PEATE SISESTAMA KUUPÄEVA');
break;
case '1':
$("input").attr('placeholder', 'KUUPÄEV ON SISESTATUD AUTOMAATSELT');
break;
}

</script>

<input type="text" name="tekst" placeholder="">
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: peaminister(R) 2016-07-30 11:48:48
sul on naruke asjad siin sassis ja üleliia,
javascript pane kõige lõppu, peale input elementi,
muidu ta ei tea sellest midagi ja et asi veel kindlam oleks,
määra, et javaskript käivitub peale lehe täielikku laadimist: document.ready()

ära kirjuta koodi raskesti loetavaks, lisa kommentaari kohtadesse, mis aitavad koodi paremini lugeda


<select name="nimetus" id="nimetus">
<?php $q3 = mysql_query("SELECT id, vnimi, vs_1 FROM tz_kliendid ORDER BY vnimi ASC");
while($f3 = mysql_fetch_array($q3)){ ?>

<option value="<?php echo $f3['id'].':'.$f3['vs_1']; ?>"><?php echo $f3['vnimi']; ?></option><?php } ?></select>

<input type="text" name="tekst" placeholder="">

<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script type="text/javascript">


$(document).ready(function(){

$("#nimetus").click(function(){

switch ($(this).val().split(":")[1]){

case '0':
$("input").attr('placeholder', 'PEATE SISESTAMA KUUPÄEVA');
break;

case '1':
$("input").attr('placeholder', 'KUUPÄEV ON SISESTATUD AUTOMAATSELT');
break;

} // switch

}); // $("#nimetus").click

}); // $(document).ready



</script>

RE: kuidas välja kuvada selekteeritud valik?
Postitaja: Mario 2016-08-01 11:20:18
huvi pärast veel küsin kas mingitrikiga on võimalik placeholderi teksti värvi muuta ka javascriptis?


Et kui on tekst "PEATE SISESTAMA KUUPÄEVA" siis kuvatakse tekst punaselt ja KUUPÄEV ON SISESTATUD AUTOMAATSELT kuvatakse roheliselt

RE: kuidas välja kuvada selekteeritud valik?
Postitaja: google abiks 2016-08-01 11:25:44
RE: kuidas välja kuvada selekteeritud valik?
Postitaja: Mario 2016-08-01 11:40:39
TSITEERITUD:
http://lmgtfy.com/?q=placeholder+text+color


Mina sealt küll seda ei leia mida vaja oleks

case '':
$("input[name=to]").attr('placeholder', 'PEATE SISESTAMA KUUPÄEVA').style('color', 'red');
break;

case '0':
$("input[name=to]").attr('placeholder', 'KUUPÄEV ON SISESTATUD AUTOMAATSELT');
break;

case '1':
$("input[name=to]").attr('placeholder', 'KUUPÄEV ON SISESTATUD AUTOMAATSELT');
break;

et kuidas sa muudad värvi vastvalt placeholder tekstile? See mis sa andsid on lihtalt tavaline css, kuid mul on vaja javascriptis toimivat css käske, mis vastvalt sellele tekstile muutub

Leheküljed: 1 2 

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0963990688324