Search code examples
javascriptphpjquerydrupaldrupal-7

checking each div in page and change value according to the data in the div


i have buttons created via display suite(the buttons contain 'join' text i need to run the function check to see the value should be join or leave. you can find my js code and my check function code. my problem is i think im calling the function the wrong way.

function init() {
$('div').each(function(){
  $ajax('checkteam')
   .then(function(){
     if (res.data === true){
        var button = $(this).find('.button.pulse');
        $(button).text === 'Leave';
        $(button).data('leave', true);
     }
     else {
          }
        }       
   )  
})
}

'checkteam' => array(
  'type' => MENU_CALLBACK,
  'page callback' => 'card_generator_check_team_ajax',
  'page arguments' => array(2),
  'access arguments' => array('access content'),
),


function card_generator_check_team_ajax($term_name) {
global $user;
$term = reset(taxonomy_get_term_by_name($term_name));
$tid = $term->tid;
$user_fields = user_load($user->uid);
$arrlength = (sizeof(($user_fields->field_teams[und])));
for($x = 0; $x < $arrlength; $x++) {
$mytid = ($user_fields->field_teams[und])[$x]['tid'];
if ($tid == $mytid){
return true;
}
return false;
 }
}

i need to get the data from checkteam function and if its true then the value should be leave.


Solution

  • problem solved! the php function was wrong.

    function card_generator_check_team_ajax($term_name)
    {
      global $user;
      $term = reset(taxonomy_get_term_by_name($term_name));
      $tid = $term->tid;
      $user_fields = user_load($user->uid);
    
      $arrlength = (sizeof(($user_fields->field_teams[und])));
      for ($x = 0; $x < $arrlength; $x++) {
        $mytid = ($user_fields->field_teams[und])[$x]['tid'];
        if ($tid == $mytid) {
          $arr = 'true';
          continue;
        }
      }
      drupal_json_output($arr);
    }