Pagina 1 din 1

Utilizare butoane Radio in script Ajax cu jQuery

Scris: Mar Sep 11, 2012
de trif
Salut, am si eu o mica problema si nu stiu cum sa o rezolv.
Am scripturile acestea:
javascript

Cod: Selectaţi tot

<script type="text/javascript">
   function lookup(inputString) {
      if(inputString.length == 0) {
         // Hide the suggestion box.
         $('#suggestions').hide();
      } else {
         $.post("cautare.php", {queryString: ""+inputString+""}, function(data){
            if(data.length >0) {
               $('#suggestions').show();
               $('#autoSuggestionsList').html(data);
            }
         });
      }
   } // lookup
</script>
ajax;

Cod: Selectaţi tot

<?php
    $db = new mysqli('localhost', 'root' ,'', 'bd');
     if(!$db) {
      echo 'Nu se poate conecta la Baza de date!';
   } else {
      if(isset($_POST['queryString'])) {
         $queryString = $db->real_escape_string($_POST['queryString']);         
         if(strlen($queryString) >0) {
         $categoria = 'c';
         //echo $categoria;
            $query = $db->query("SELECT * FROM cantari_ppt WHERE categoria='".$categoria."' AND aprobare = 1 AND denumire LIKE '$queryString%' ORDER BY denumire LIMIT 10");
            if($query) {
               while ($result = $query ->fetch_object()) {
                     //echo ''.$result->denumire.'<br>';
                   if ($result->categoria == 'c')
  {
                  echo '<span class="d"><img src="powerpoint_icon.png" width="24" height="24"> <a href="localhost/cautare/index.php?urlf='.$result->urlf.'">'.$result->denumire.'</a> </span> ~ copii<br>';
                  }
                   elseif ($result->categoria == 'co')
  {
                  echo '<span class="d"><img src="powerpoint_icon.png" width="24" height="24"> <a href="localhost/cautare/index.php?urlf='.$result->urlf.'">'.$result->denumire.'</a> </span> ~ colinde<br>';
                  }
              } 
            } else {
               echo 'A aparut o problema. nu este query';
            }
         } else {
         }
      }
       else {
         echo 'Nu s-a trimis nimic de la index!';
      }
         
   }
?>
scriptul ajax este intr-un fisier cautare.php de care se foloseste scriptul javascript sa apeleze in index.php

Cod: Selectaţi tot

<form id="search" name="search">
<input type="text" size="50" name="term" value="" placeholder="Scrie numele cantarii" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" />
</form> <br><br>
	<div class="suggestionsBox" id="suggestions" style="display: none;"> 
				<div class="suggestionList" id="autoSuggestionsList">
				</div>
</div>
iar butoanele radio sunt;

Cod: Selectaţi tot

<form method="post" action="" id="frms">
<input type="radio" name="rbtn" value="" onclick="this.form.submit()">Toate
<input type="radio" name="rbtn" value="c" onclick="this.form.submit()">Copii
<input type="radio" name="rbtn" value="co" onclick="this.form.submit()">Colinde
</form>
Ceea ce vreau si nu stiu sa fac este:
ca atunci cand dau pe un buton radio sa imi ramana bifat si sa imi caute doar in sectiunea respectiva.
iar daca dau pe butonul "toate" sa nu tina cont de nimic ci sa caute in toate categoriile.
codul merge dar numai daca pun eu in cautare.php

Cod: Selectaţi tot

$categoria = 'c';
 
Sau cateogira dorita, nu vreau asta ci sa imi preia din index.
Sper ca ati inteles. astept raspuns. multumesc anticipat.
Cu stima trif.

Utilizare butoane Radio in script Ajax cu jQuery

Scris: Mar Sep 11, 2012
de MarPlo
Salut
Cu jQuery se poate prelua valuarea butonului radio bifat folosind acest cod:

Cod: Selectaţi tot

$("input:radio[name=nume_buton]").click(function() {
    var valoare = $(this).val();
});
Apoi adaugi acea valoare in datele trimise cu Ajax, si le preiei in scriptul php.
Poti incerca scriptul Ajax asa (vezi in cod ce e adaugat nou):

Cod: Selectaţi tot

<script type="text/javascript"><!--
var rbtn_v = '';     // aici se adauga valoarea initiala, transmisa daca nu e buton bifat

$(document).ready(function() {
  $("input:radio[name=rbtn]").click(function() {
    rbtn_v = $(this).val();
  });
});

function lookup(inputString) {
  if(inputString.length == 0) {
   // Hide the suggestion box.
   $('#suggestions').hide();
  } else {
   $.post("cautare.php", {queryString: inputString, rbtn: rbtn_v}, function(data){
    if(data.length >0) {
     $('#suggestions').show();
     $('#autoSuggestionsList').html(data);
    }
   });
  }
}
//-->
</script>
Iar in sxcript-ul PHP:

Cod: Selectaţi tot

$categoria = isset($_POST['rbtn']) ? $_POST['rbtn'] : 'c';
 

Utilizare butoane Radio in script Ajax cu jQuery

Scris: Sâm Sep 15, 2012
de trif
Salut,
Nu imi merge.
Am pus in index.php asta:

Cod: Selectaţi tot

<script type="text/javascript"><!--
var rbtn_v = '';     // aici se adauga valoarea initiala, transmisa daca nu e buton bifat
$(document).ready(function() {
  $("input:radio[name=rbtn]").click(function() {
    rbtn_v = $(this).val();
  });
});

function lookup(inputString) {
  if(inputString.length == 0) {
   // Hide the suggestion box.
   $('#suggestions').hide();
  } else {
   $.post("cautare.php", {queryString: inputString, rbtn: rbtn_v}, function(data){
    if(data.length >0) {
     $('#suggestions').show();
     $('#autoSuggestionsList').html(data);
    }
   });
  }
}
//-->
</script>
si in cautare.php

Cod: Selectaţi tot

$categoria = isset($_POST['rbtn']) ? $_POST['rbtn'] : 'c';
iar codul este cel de mai sus.
Nu face nimic, nici nu merge scriptul de cautare nici nimic. preia oare

Cod: Selectaţi tot

<input type="radio" name="rbtn" value="" onClick="this.form.submit()">Toate
fisierul cautare.php?
Nu stiu ce sa ii fac.
Multumesc anticipat.
Cu stima Trif

Utilizare butoane Radio in script Ajax cu jQuery

Scris: Sâm Sep 15, 2012
de MarPlo
Nu stiu daca acel fisier primeste datele care vrei din formular. Asta se poate verifica in scriptul PHP, cu: var_dump($_POST);
Incearca codul javascript pt Ajax asa:

Cod: Selectaţi tot

<script type="text/javascript"><!--
var rbtn_v = '';     // aici se adauga valoarea initiala, transmisa daca nu e buton bifat
$(document).ready(function() {
  $("input:radio[name=rbtn]").click(function() {
    rbtn_v = $(this).val();
  });
});

function lookup(inputString) {
  if(inputString.length == 0) {
   // Hide the suggestion box.
   $('#suggestions').hide();
  }
  else {
    var data = 'queryString='+$('#inputString').val()+ '&rbtn='+rbtn_v;
//     alert(data);    // verifica ce date preia si trimite javascript
    $.post('cautare.php', data, function(response){
//     alert(response);    // ca sa se verifice datele primite
      if(data.length > 0) {
        $('#suggestions').show();
        $('#autoSuggestionsList').html(response);
      }
    });

    return false;      // required to not open the page when form is submited
  }
}
//-->
</script>
- Mai departe, daca nu merge trebuie facute verificari:
- in PHP cu var_dump($_POST);
- in JavaScript cu: alert(data); pt. ce date preia si trimite javascript, iar cu: alert(response); pt ce date primeste de la server.

Re: Utilizare butoane Radio in script Ajax cu jQuery

Scris: Dum Sep 16, 2012
de trif
salut,
am sters

Cod: Selectaţi tot

onclick="this.form.submit()"
si merge.
Dar mai am o mica problema. cum fac ca sa imi caute daca nu este apasat nici un buton radio?
Multumesc anticipat
Cu stima trif

Utilizare butoane Radio in script Ajax cu jQuery

Scris: Lun Sep 17, 2012
de MarPlo
Dupa cum ai in script, cautarea se face cu functia lookup(). Deci, apelezi functia asta la butonul prin care vrei sa faci cautarea, sau la evenimentul "onsubmit" in <form>.
De exemplu:

Cod: Selectaţi tot

<form action="cautare.php" method="post" onsubmit="lookup(); return false;">