Да взема само цифрата от class-a

sentenello

Registered
Здравейте,
ето ми го хтмл-а
Код:
		<ul  class="starrating">
			<li class="star_1 ratings_stars"></li>
			<li class="star_2 ratings_stars"></li>
			<li class="star_3 ratings_stars"></li>
			<li class="star_4 ratings_stars"></li>
			<li class="star_5 ratings_stars"></li>
		</ul>

Искам да направя като се кликне върху ul с клас starrating да се взема класа на кликаният <li>, но да се премахва star_ и да се взема само цифрата.

засега съм написал това.
Код:
 $(document).ready(function(){
   $(".starrating").click(function(event){
     alert("кликна на starrating!");
   });
 });

въпроса ми към вас е какъв код да напиша да взема числото от кликнатия <li>?
 
Така, както си го замислил ... няма да стане :?:
$(".starrating li").click(function(event){
var tClass = $(this).attr('class').split(' ')[0];
var patern=/\d/g;
alert(tClassa.match(patern).join(''));
});
});
 
Replace каза:
Така, както си го замислил ... няма да стане :?:
$(".starrating li").click(function(event){
var tClass = $(this).attr('class').split(' ')[0];
var patern=/\d/g;
alert(tClassa.match(patern).join(''));
});
});

Като сложих този код и кликнах на някоя от звездичките не се получи нищо.
Целта ми е при кликането на звезда 1 (star_1) да задам по някакъв начин на Zvezda примерно да е равно на 1 и в друг файл да използвам тази единица. Като другия файл ще го използвам с $ajax..
 
И мнго ми е интересно, как така нищо не стана.
Тоест, естествено, преди да го постна кода - го изпробвах, с твоя хтмл и си вземаше всичко точно. Интересно ще ми е да видя как ти си го реализирал :idea:
 
ето ми го целия код.
Код:
<script>
    // This is the first thing we add ------------------------------------------
    $(document).ready(function() {
        $('.ratings_stars').hover(
            // Handles the mouseover
            function() {
                $(this).prevAll().andSelf().addClass('ratings_over');
                $(this).nextAll().removeClass('ratings_vote'); 
            },
            // Handles the mouseout
            function() {
                $(this).prevAll().andSelf().removeClass('ratings_over');
                // can't use 'this' because it wont contain the updated data
                set_votes($(this).parent());
            }
        );  
    });
    // END FIRST THING
$(".starrating li").click(function(event){
var tClass = $(this).attr('class').split(' ')[0];
var patern=/\d/g;
alert(tClass.match(patern).join(''));
});
    </script>
	<div style="float:right">
		<ul  class="starrating">
			<li class="star_1 ratings_stars"></li>
			<li class="star_2 ratings_stars"></li>
			<li class="star_3 ratings_stars"></li>
			<li class="star_4 ratings_stars"></li>
			<li class="star_5 ratings_stars"></li>
		</ul><br>
             <div width="80px" style="padding-left:5px;">5 от 5</div>
	</div>
 
Replace каза:
Кодът е във
$(document).ready(function() {
// Кодът
});
, а не след него, както ти си го направил.

Сега като го сложих там работи и изкарва коя звездичка е кликната. Сега ако ми кажеш и как да префърлям информацията в друг файл и да я обработвам.

имам предвид при кликане на звездичката да се изпълнява файла test.php примерно и $promenliva = $_POST[...] да я вземам в този файл и да си правя заявка или там каквото искам.

Благодаря ти предварително.
 
var tClass = $(this).attr('class').split(' ')[0];
var patern=/\d/g;
$.ajax({
url: 'test.php',
data: 'id=' + tClass.match(patern).join(''),
type: 'GET'
});
нещо такова ще да е, виж в хелпа на jQuery
 
Replace каза:
var tClass = $(this).attr('class').split(' ')[0];
var patern=/\d/g;
$.ajax({
url: 'test.php',
data: 'id=' + tClass.match(patern).join(''),
type: 'GET'
});
нещо такова ще да е, виж в хелпа на jQuery

Проблема ми е само как да предам това..
Код:
data: 'id=' + tClass.match(patern).join(''),
ако това работи другото ще го направя.... ся ще тествам и ще ти пиша.
 

Back
Горе