我有一个列表,这是生成的,所以它可以包含任何数量的问题。
总是有三个答案,“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
消息。
您的选择器plus_id
等于例如plus-div-123
。 但是您打算按ID进行选择,因此应该以#
作为前缀。 因此它变成:#plus-div-123
。