Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为一个类禁用boostrap切换折叠,并为另一个类启用它_Javascript_Jquery_Css_Twitter Bootstrap_Twitter Bootstrap 3 - Fatal编程技术网

Javascript 为一个类禁用boostrap切换折叠,并为另一个类启用它

Javascript 为一个类禁用boostrap切换折叠,并为另一个类启用它,javascript,jquery,css,twitter-bootstrap,twitter-bootstrap-3,Javascript,Jquery,Css,Twitter Bootstrap,Twitter Bootstrap 3,我有一个胸带折叠按钮,看起来像这样: <button type="button" class="btn btn-info" data-toggle="collapse" data-target="#<?php echo $row['pid']; ?>">View more info</button> <div id="<?php echo $row['pid']; ?>" class="collapse"> &l

我有一个胸带折叠按钮,看起来像这样:

<button type="button" class="btn btn-info" data-toggle="collapse" data-target="#<?php echo $row['pid']; ?>">View more info</button>
    <div id="<?php echo $row['pid']; ?>" class="collapse">
        <?php
        //php code that display more info goes here
        }
        echo '</div>';
  ?>

当用户单击此按钮时,将显示有关图片的更多信息。由于每张图片都有唯一的信息,因此此按钮的div id和数据目标必须是数据库中图片的id,否则无法显示准确的信息。 然而,我也有一个like按钮,当用户点击它时,他会“喜欢”图片,它是这样的:

<button type="button" class="like" id="<?php echo $row['pid']; ?>">Like <span><?php echo likes($row['pid']); ?></span></button>

下面是一个使用相同id的示例:

ABCD1234

在两个元素上,但在like按钮上,您将其作为数据属性应用。单击按钮时,通过数据属性检索id,然后将其用作选择器,根据该id更新相应匹配折叠内容的like计数

HTML

<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#ABCD1234" aria-expanded="false" aria-controls="collapseExample">
  Button with data-target
</button>
<div class="collapse" id="ABCD1234">
  <div class="well">
    <span>100</span> likes
  </div>
</div>

<br>
<button type="button" class="like" data-id="ABCD1234">Like <span>ABCD1234</span></button>

基本上,一个HTML文档中不能有两个ID相同的元素。例如,您可以使用like按钮的数据属性(数据id而不是id,然后您也可以在JavaScript中轻松读取此值)您可以更具体地说明如何使用数据id吗?我需要将每个like按钮与图片相关联(这样我就可以知道哪些用户喜欢哪个图片,并计算喜欢的数量),并且每个图片只能通过数据库上的id来“识别”。如果不查看将数据发送到数据库的代码,我将无法帮助您(您可能正在使用AJAX?).当用户单击like按钮时,我使用AJAX更改like的数量,例如,如果有10个like,当用户单击按钮时,AJAX会将其更改为11。最初(当使用id而不是数据id时),我使用var postid=$(this.data('id'),在ajax响应中我使用:success:function(data){$('a#'+postid.html(data);}现在,如果我使用数据id而不是id,我应该在ajax响应中使用什么?我尝试了$('a[dataid='+postid']').html(data)$('a#'+“[data id=postid]”)文本(data);等等,但都不起作用,只会制造更多的错误。大多数人都明白了。它是:$('a[data id=“”+postid+“]”)html(data);
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#ABCD1234" aria-expanded="false" aria-controls="collapseExample">
  Button with data-target
</button>
<div class="collapse" id="ABCD1234">
  <div class="well">
    <span>100</span> likes
  </div>
</div>

<br>
<button type="button" class="like" data-id="ABCD1234">Like <span>ABCD1234</span></button>
$('.like').click(function(){
  var thisID = '#' + $(this).data('id');
  var $count = $('span', thisID);
  var number = parseInt($count.text());
  $count.text(number+1);
});