点击事件中jQuery脚本中的动态元素ID

时间:2014-04-01 22:34:32

标签: php jquery ajax

我试图在php循环上实现一个开/关按钮,但由于jQuery事件的id,我无法使其工作。如何在点击时获得正确的ID并将其传递给脚本的其余部分?

问题出在$('#myonoffswitch')......

<script type="text/javascript">
  $(document).ready(function(){
      $('#myonoffswitch').click(function(){
          var myonoffswitch=$('#myonoffswitch').val();
          var wnfID=$('#wnfID').val();
          if ($("#myonoffswitch:checked").length == 0) {
              var a="2";
              var b=wnfID;
          } else {
              var a="3";
              var b=wnfID;
          }

          $.ajax({
              type: "POST",
              url: "ajax_wnf_status.php",
              data: "statusWnf="+a+"&wnfID="+b,
              success: function(html) {
                  $("#display").html(html).show();
              }
          });
      });
  });
</script>

我为循环行生成不同的id(例如:id =&#34;#myonoffswitch1&#34 ;; id =&#34;#myonoffswitch2&#34 ;; etc)。 / p>

2 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解这个问题,但.val()将无法获取元素的ID。您应该使用.attr('id')代替。

此外,您似乎正在尝试格式化GET请求的数据,而不是POST。

答案 1 :(得分:0)

如果我正确理解了这个问题,我认为您正在寻找

event.target.id

其中&#39;事件&#39;传递给你的处理程序:

('#myonoffswitch').click(function(event){
    id = event.target.id
    . . .

虽然在那时,你可能不需要id,因为你可以直接使用event.target。