Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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 如何在弹出窗口小部件实体引用视图小部件中隐藏所选项目?_Javascript_Jquery_Drupal_Drupal 7_Drupal Modules - Fatal编程技术网

Javascript 如何在弹出窗口小部件实体引用视图小部件中隐藏所选项目?

Javascript 如何在弹出窗口小部件实体引用视图小部件中隐藏所选项目?,javascript,jquery,drupal,drupal-7,drupal-modules,Javascript,Jquery,Drupal,Drupal 7,Drupal Modules,起初,她工作得很好,但我添加了一个javascript函数:当我取消选中项目时,她将被删除,问题是: 当我添加项目时,所有项目始终显示在我的弹出窗口小部件中,我如何删除现有项目或其他指示项目已被选中的解决方案?? 在屏幕和js代码下方打印: (函数($){ Drupal.behaviors.entityreferenceViewWidget={ 附加:功能(上下文、设置){ var复选框='#模态内容输入。实体引用视图小部件选择'; var selectAllSelector='#ent

起初,她工作得很好,但我添加了一个javascript函数:当我取消选中项目时,她将被删除,问题是: 当我添加项目时,所有项目始终显示在我的弹出窗口小部件中,我如何删除现有项目或其他指示项目已被选中的解决方案?? 在屏幕和js代码下方打印:

(函数($){
Drupal.behaviors.entityreferenceViewWidget={
附加:功能(上下文、设置){
var复选框='#模态内容输入。实体引用视图小部件选择';
var selectAllSelector='#entityreference视图小部件全选';
$(selectAllSelector)。取消绑定('click')。数据('unselect',0)。单击(函数(){
if($(this).data('unselect')){
$(复选框);
$(this).data('unselect',0).text(Drupal.t('selectall'));
}
否则{
$(复选框).attr('checked','checked');
$(this.data('unselect',1).text(Drupal.t('unselect all'));
}
返回false;
});
if(settings.entityReferenceViewWidget){
var ervwsettings=settings.entityReferenceViewWidget.settings;
如果(ERVwsettings.cardinality!=-1 | |$(复选框)。长度===0){
$(selectAllSelector).remove();
}
变量选择器=“#”+ERVWSETTINGS.table_id+”输入[类型=复选框]:选中“;
所选变量_id=“”;
$(选择器)。每个(函数(){
选定的_id+=$(this).val()+';';
});
如果(选定的长度>0){
$('input[name=“selected_entity_ids”]').val(selected_ids.substring(0,selected_ids.length-1)).trigger('change');
}
//我们需要通过一个隐藏字段来传递设置,因为视图没有
//允许我们在ajax请求之间传递数据。
if(settings.entityReferenceViewWidget.serialized){
$('input[name=“ervw_settings”]').val(settings.entityReferenceViewWidget.serialized);
}
}
$('.field widget entityreference view widget input[type=checkbox]:checked')。每个(函数(){
$(this).onclick=function(){
控制台日志(1)
}
$(this).addClass('uncheck-to-remove').attr('title',Drupal.t('uncheck-to-remove此项'))。单击(function(){
$(this).closest('tr').hide(500);
});
});
}
// }
};
//创建一个新的ajax命令,ervw_draggable,该命令被调用以生成行
//小部件的可拖动部分。
Drupal.ajax.prototype.commands.ervw_draggable=函数(ajax、响应、状态){
$('#'+response.selector+'tr')。每个(函数(){
var el=$(本);
tableDrag[response.selector].makeDraggable(el.get(0));
el.find('td:last').addClass('tabledrag-hide');
if($.cookie('Drupal.tableDrag.showWeight')==1){
el.find('.tabledrag handle').hide();
}
否则{
el.find('td:last').hide();
}
});
};

})(jQuery)您不必为此编写任何代码(隐藏部分必须使用js代码atm编写),它只是配置

若要不显示模式视图中选定的allready项以及创建的视图,必须在节点的nid上设置上下文过滤器。编辑此上下文过滤器并选中“更多”菜单下的“排除”(添加多个值旁边)

查看此视频:在8:00点。视频几乎解释了这个小部件的任何基本配置