提问者:小点点

如何在click事件jquery中使用click事件


我有一个列表,这是生成的,所以它可以包含任何数量的问题。

总是有三个答案,“OK”,“FOUT”和“N.V.T.”

当选择fout(fout在荷兰语中表示错误)时,将出现一个下拉列表,可以添加其他信息和图像。

我为OK做了相同的操作,它可以工作,但是现在我只想在单击加号图标时显示下拉列表。 此图标仅在用户使用OK回答问题后出现。

您可以在这里看到它:https://jsfiddle.net/6pxjskr5/

我怎么能那么做? 我的猜测是click event内有一个click event,但我不知道这是否可能。

我尝试了以下操作:

$(document).on('click', '[id^=radio]', function(){
  var userresp = this.value;
  var fout_id = $(this).attr('id');
  var index = fout_id.split('-')[1];
  if (userresp == 'ok') index= parseInt(index)+ 1;
  if (userresp == 'fout') index= parseInt(index)+ 0;
  if (userresp == 'nvt') index= parseInt(index)- 1;
  // The container for the additional negative info (FOUT)
  var afw_id = 'afw-div-' + index;
  // The container for the additional positive info (OK)
  var pos_id = 'pos-div-' + index;
  // The plus icon
  var plus_id = 'plus-div-' + index;
    console.log('radio clicked', userresp, index);
    if (userresp=='fout') {
        $('#' + afw_id).slideDown();
        $('#' + pos_id).slideUp();
        $('#' + plus_id).hide();
    }
    else if(userresp=='ok'){
        $('#' + afw_id).slideUp();
        $('#' + plus_id).show();

        $(document).on('click', plus_id, function(){
          console.log('test');
        });
    }else{
        $('#' + plus_id).hide();
        $('#' + afw_id).slideUp();
        $('#' + pos_id).slideUp();
    }
});

但单击加号图标时,控制台中没有test消息。


共1个答案

匿名用户

您的选择器plus_id等于例如plus-div-123。 但是您打算按ID进行选择,因此应该以#作为前缀。 因此它变成:#plus-div-123