PHP Javascript проблема с переменными - PullRequest
1 голос
/ 25 мая 2011

У меня есть цикл while на моей странице PHP, где я смотрю следующее ...

    print $divLeft.strip_tags($row->twitterUser)."?size=normal\"/><br \/>".$row->twitterUser.$divRight."<a href='javascript:void(0);' id='vote_$row->id' class='getPoint'>Get " .$row->coff. "<input type='hidden' value='$row->coff' id='credoff'/> credit(s)</a><br /></div>$clearDiv</div></div>"; 

У меня установлено значение в скрытом поле, которое я затем вызываю в своем JavaScript ...

{        
   var theid = $(this).attr("id");
   var onlyID = theid.split("_");
   var onlyID = onlyID[1];
   credoff = $("#credoff").val();


    $.ajax({            
      url: 'do.php',
      type: 'POST',          
      data: "userID=" + onlyID,
      success: function(data) {
          if(data != "success1" && data != "success5") {
               $("#" + theid).text(data);  
          }else{

              $("#thediv_" + onlyID).fadeOut("slow");
              $('#creditsBalance').fadeOut("slow");
              newbalance = parseInt($('#creditsBalance').text());

          if(data != "success5") { 
              alert('Credits offered = '+credoff);

Единственное, что в моем javascript - это получение наибольшего значения переменной 'credoff' на странице, а не того, на которое нажали, имеет ли это смысл?

Ответы [ 2 ]

0 голосов
/ 25 мая 2011

Идентификаторы элементов должны быть уникальными по всей странице;если это не так, то попытка выбора по идентификатору не определена.Лучше всего использовать что-то вроде этого:

<input type="hidden" ... class="credoff" />

А затем в javascript что-то вроде этого:

0 голосов
/ 25 мая 2011

Во-первых, $ ('# credoff') - это идентификатор ... и идентификаторы уникальны для страницы.Во-вторых, если их было больше одного (и правильно скомпоновано с помощью селектора CSS), то, как вы вызываете $ ('# credoff'), даст вам только значение первого, поскольку вы не связываете егоцель события.

Поскольку это выглядит структурно, как будто вход является дочерним элементом (что тоже странно, кстати), вам нужно использовать такой селектор, чтобы получить credOff:

$('.getPoint').click(function(){
    // properly associated with the event target.
    var credOff = $(this).find('input').val();
    // etc.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...