2016-09-26 23 views
-3

这里是我的html:如何选择在jquery中动态更改的id?

<?php echo ($row['status'] == 1)? ?> 
 
    <span id='slide_".$row['id']."' name="slid_id" class='label label-danger'>Inactive</span> 
 
    <?php : ?> 
 
    <span id='slide_".$row['id']."' name="slid_id" class='label label-success'>Active</span> 
 
    <?php ; ?>

这里是我的jQuery代码:

$(document).ready(function() 
 
{ 
 
    $("span").click(function() 
 
    { 
 
     \t \t 
 
    var id = $(":input[name=slide_id]").val(); 
 
\t alert(id); 
 
    }); 
 
});

我没有得到任何东西,我想

ID &其动态生成的值

跨度元件的

,然后执行等上点击我想改变从活动状态设置为无效,反之亦然一些行动。

在此先感谢。

+0

看起来你错过了两个功能上的闭合零件。 – mezmi

+0

检查HTML现在队友:)谢谢 – Hardy

+0

我无法理解你,这意味着我高于你。 –

回答

0

var id = $(":input[name=slide_id]").attr('id');应该做的工作。 .val()只返回输入元素的当前值。

+0

不工作它返回undefined :(当试图获得选定的编号的价值 – Hardy

-1

只要这样做:$(selector)[0].id。最简单的方式,非常容易理解。

var id = $("input")[0].id; 
 
alert(id); 
 
$("input").on("click",function(){alert($("#"+id)[0].value);});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="hello" />

+0

我想单击的跨度元素的ID和它的价值也抱歉,我没有得到它的代码感谢任何方式:) – Hardy

0

你的HTML从丢失的问题,但消除结肠中的jQuery选择可能做的伎俩在选择输入字段 - 即$("input[name=slide_id]").val()

如果你想要得到的跨度元素的ID属性,这会工作:

$('span_selector').attr('id'); 
+0

嘿,我的代码是最短的 –

+0

html添加队友请检查并现在回复:0 – Hardy

+1

好吧我将HTML更改为此 name =“slide_id”> 现在在jQuery中使用它来获取id作为属性 $(this).attr(id); 其中提供点击跨度元素ID; – Hardy

0

还好最后我得到了解决这个事情的方式。如果任何人有一天有相同的问题,那么这可能会有帮助。

的html代码:

<tr class="tr"> 
    <td class="td"> 
     <div id="status"> 
      <?php 

      echo ($row['status'] == 1)? 
      "<span id='".$row['id']."' class='label label-danger'>Inactive</span>": 
      "<span id='".$row['id']."' class='label label-success'>Active</span>"; 
      ?> 
     </div> 
    </td> 
</tr> 

我jQuery代码:

$(document).ready(function() 
    { 
     $("#status > span") .click(function() 
     { 

      var id = $(this).attr('id'); 
      var tempelement = $(this); 
      var texts = $(this).closest(".tr").find("#texts").val(); 
      var author = $(this).closest(".tr").find("#author").val(); 
      var status = $(this).text(); 
      $.ajax({ 
        type: 'POST', 
        url: 'manage_feedback.php', 
        data: {id:id, texts:texts, author:author, status:status}, 
        success: function(data) 
        { 
         if (data == "Active") 
         { 
          $(tempelement).removeClass("label label-danger"); 
          $(tempelement).addClass("label label-success"); 
          $(tempelement).html(data); 
          alert('status changed'); 
         } 
         else if (data == "Inactive") 
         { 
          $(tempelement).removeClass("label label-success"); 
          $(tempelement).addClass("label label-danger"); 
          $(tempelement).html(data); 
          alert('status changed'); 
         } 
         else 
         { 
          alert(data); 
         } 
        } 
      }); 
     }); 

php脚本

//ajax status changer code 
 
if (isset($_POST['id']) && isset($_POST['texts']) && isset($_POST['status']) && isset($_POST['author'])) 
 
{ 
 
\t $id = $_POST['id']; 
 
\t $texts = trim($_POST['texts']); 
 
\t $author = trim($_POST['author']); 
 
\t $status = $_POST['status']; 
 

 
\t $qry = "SELECT count(id) as count FROM tbl_testimonials WHERE texts = '".$texts."' 
 
\t \t \t AND author = '".$author."' AND id != ".$id." "; 
 
\t $sql = mysql_query($qry); 
 
\t $data = mysql_fetch_assoc($sql); 
 
\t 
 
\t if ($data['count'] == 0) 
 
\t { 
 
\t \t if($status == 'Inactive') 
 
\t \t { 
 
\t \t \t $qry = "UPDATE tbl_testimonials SET status = 0 WHERE id = ".$id." " ; 
 
\t \t \t $sql = mysql_query($qry); 
 
\t \t \t if($sql == 1) 
 
\t \t \t { 
 
\t \t \t \t echo 'Active'; 
 
\t \t \t \t exit; 
 
\t \t \t } 
 
\t \t } 
 
\t \t elseif ($status == 'Active') 
 
\t \t { 
 
\t \t \t $qry = "UPDATE tbl_testimonials SET status = 1 WHERE id = ".$id." " ; 
 
\t \t \t $sql = mysql_query($qry); 
 
\t \t \t if($sql == 1) 
 
\t \t \t { 
 
\t \t \t \t echo 'Inactive'; 
 
\t \t \t \t exit; 
 
\t \t \t } 
 
\t \t } 
 
\t } 
 
\t else 
 
\t { 
 
\t \t echo "name already taken"; 
 
\t \t exit; 
 
\t } 
 
}

希望它能帮助别人。