0

我要做的是通过jquery和php一一检查div值,如果php说值为1使div值变为红色,如果值为0使txt颜色变为蓝色,则检查脚本无法正常工作如果我穿上 php q1 = Tag1 不会使那个 div 变成红色......

这是我的 HTML:

<div class="Tags_Data">
 <div class="TagID_1">Tag1</div>
 <div class="TagID_1_Status"></div>
 <div class="TagID_2">Tag2</div>
 <div class="TagID_2_Status"></div>
 <div class="TagID_3">Tag3</div>
 <div class="TagID_3_Status"></div>
 <div class="TagID_4">Tag4</div>
 <div class="TagID_4_Status"></div>
 <div class="TagID_5">Tag5</div>
 <div class="TagID_5_Status"></div>
 <div class="TagID_6">Tag6</div>
 <div class="TagID_6_Status"></div>
</div>

这是我的 jquery 脚本

 $(document).ready(function() {
  var delay = 200;
  $("div[class*='TagID_']").each(function() {
   $(this).hide().delay(delay).fadeIn(1850);
   delay += 200;

   var Tag_ID             = $(this).attr("class");
   var ID_Split           = Tag_ID.split('_');
   var Tag_Data_ID        = ID_Split[2];

   var Tag_Scan           = $('.TagID_' + Tag_Data_ID);


// ----------------- Post Tag And Check It
   $.post("tags_check.php", { q1 : Tag_Scan.attr("value") },

// ----------------- Get The Result
   function(result) {
    if(result == 1) {
     Tag_Scan.css('color','red');
    } else {
     Tag_Scan.css('color','blue');
    }
   });

  });
 });

这是我在 tags_check.php 上的 PHP 代码:

<?php
 if($_GET["q1"] == "Tag3") {
  echo 1;
 } else {
  echo 0;
 }
?>

这是我的代码:http: //jsfiddle.net/3C2Pa/1/

更新: 我更新了脚本http://jsfiddle.net/3C2Pa/3但仍然检查不工作......希望有人可以帮助我

4

1 回答 1

1

您的代码中有三个错误:

第一:

var Tag_Data_ID        = ID_Split[2];

数组从零开始作为索引。所以你会在位置 1 中找到你得到的东西。

var Tag_Data_ID        = ID_Split[1];

第二个:

Tag_Scan.attr("value")

你必须使用

Tag_Scan.text();

第三个:

您正在使用“post”来调用您的 php 脚本,但您正在通过“GET”读取 vals。使用$_POST$_REQUEST

此外,我建议您以更好的方式使用idand :)class

于 2013-07-28T09:11:40.383 回答