Autor Zpráva
okoun
Profil
Ahoj, prosím vás o malou úpravu scriptu jquery. Vůbec tento jazyk neznám a netuším jak docílit jedné věci.
Pokud si otevřete tento příklad (tam je i ten script):www.cloud.matejov.org/s/4.php tak je tam normální funkční hledací script, box pro hledání a text nějaký script, například dám 2015 a vyjedou mi daná data a text nějaký script zmizí. Ale celý problém je v tom že když box vymažu a nebo kliknu někam do prázdna a také se vymaže tak potom tam nenaskočí znovu ten text nějaký script, tak by mě zajímalo co s tím? Pokud se něco vyhledá je nežádoucí aby tam ten text byl nicméně když okénko smažu tak je ho tam třeba.

Děkuji

ps ten ten text je samozřejmě nějaký php kod třeba
CZechBoY
Profil
Nešlo by to napsat trochu srozumitelněji?
Třeba v bodech jaké je aktuální chování a které body chceš změnit a jaké je očekávané chování.
RastyAmateur
Profil
Pokud ti jde o to, aby ten text "nějaký script" tam byl vždy, když je ten input prázdný, tak uprav následující kód:
jQuery("#result").fadeOut(); 
/* Toto předělej na : */
jQuery("#result").html("nějaký script");
snad to bude fungovat... Já jsem si naivně myslel, že když to upravím v chromu, tak že se mi ten script použije, a ono ne. Třeba to bude fungovat
okoun
Profil
RastyAmateur:
díky toto funguje nicméně spíš bych potřeboval aby se tam zobrazil ten "nějaký script" ne tak že tro musím zadávat do kodu jquery ale z toho to
  <div id="result">
nějaký script
      </div>
Prostě jde o to aby když je ten input prázdný aby se to vrátilo do té výchozí polohy tak jak to je úplně na začátku...
RastyAmateur
Profil
okoun:
Pokud to chápu správně, tak v tom divu budeš mít obsah, který pak chceš vrátit do původního stavu, ale nechceš to vypisovat html("text"). V tom případě udělej 2 divy, jeden na výsledek a jeden na ten základní text, které budeš na střídačku zobrazovat a skrývat.
okoun
Profil
RastyAmateur:
hmm tohle nějak nechápu jak na střídačku, budu tedy muset upravit ten jqouery kod aby se to nějak střídalo?

Moderátor juriad: Přesně jak říká RastyAmateur, dvě m v hmm stačí. :-)
RastyAmateur
Profil
okoun:
Nevím jestli to víš, ale když napíšeš 3x m, přivoláš moderátora. Nevidím k tomu v tomto případě důvod, ale budiž.

Ano. Nastavíš to tak, že když se vyplní input, skryješ ten výchozí div a nahradíš ho tím #result. A pak naopak. Bude to vypadat asi následovně:
$("#result").hide(0);
$(function(){
$(".hledani").keyup(function() 
{ 
var searchid = $(this).val();
var dataString = 'hledani='+ searchid;
if(searchid!='')
{
    $.ajax({
    type: "POST",
    url: "search.php",
    data: dataString,
    cache: false,
    success: function(html)
    {
    $("#default").hide(0);
    $("#result").html(html).show();
    }
    });
}return false;    
});

jQuery("#result").on("click",function(e){ 
    var $clicked = $(e.target);
    var $name = $clicked.find('.name').html();
    var decoded = $("<div/>").html($name).text();
    $('#searchid').val(decoded);
});
jQuery(document).live("click", function(e) { 
    var $clicked = $(e.target);
    if (! $clicked.hasClass("hledani")){    
    jQuery("#result").fadeOut(); 
    $("#default").show(0);
    }
});
$('#searchid').click(function(){
    $("#default").hide(0);
    jQuery("#result").fadeIn();    
});
});
Kódu označenému kurzívou moc nerozumím, takže snad tam nedělá nic důležitého, který by této změně nějakým způsobem bránil. Jinak v <div id="default"></div> budeš mít to, co chceš, aby to ukazovalo v případě nevyplněného inputu.

Ještě poznámka: Několikrát se mi stalo, že když jsem pracoval s otevřeným průzkumníkem a zkoušel ten input, celá záložka se mi sekla. Nemám tušení, co je toho důsledkem, jen doufám, že můj antivir pracuje naplno.


Ještě poznámka - NETESTOVÁNO
okoun
Profil
RastyAmateur:
Tak bohužel to nefunguje, pokud vymažu input tak tam je stále ta poslední vyhledaná hodnota...
RastyAmateur
Profil
okoun:
A když klikneš vedle? Pokud ti jde o to, aby pří prázdném inputu to tam automaticky bylo, tak to bude:
$(".hledani").keyup(function() 
{ 
var searchid = $(this).val();
var dataString = 'hledani='+ searchid;
if(searchid!='')
{
    $.ajax({
    type: "POST",
    url: "search.php",
    data: dataString,
    cache: false,
    success: function(html)
    {
    $("#default").hide(0);
    $("#result").html(html).show();
    }
    });    
    }
else{
  $("#result").hide(0);
  $("#default").show(0);
  }

Opět NETESTOVÁNO
okoun
Profil
RastyAmateur:
bohužel stále špatný nic to ani ted nehledá viz www.cloud.matejov.org/s/4.php
RastyAmateur
Profil
okoun:
Žádné změny jsem nezpozoroval. Prosím o kontrolu odkazu.

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: