好的..这有点难以解释,我不知道如何称呼标题。无论如何,我做了一个小提琴,使其更清晰:see this fiddle
我想要什么?
我正在使用Wordpress插件,你在小提琴中看到的将是后端添加短代码的功能。所以有一种短代码生成器,使用户更容易。用户必须能够根据需要添加尽可能多的字段组。
有什么问题?
所以......我需要获得完全正确的短代码以使插件正常工作。将使用“就绪”按钮生成短代码。现在,如果只有一个字段组,则输出(短代码)为:
metakey =“< field_key:field1,title:,multiple:yes,>
这是正确的。
现在,如果按“添加”按钮添加另一个字段组,然后按下就绪按钮,则输出错误。它将输出每个字段两次。像这样:
metakey =“< field_key:field1,title:title 1,multiple:yes,field_key:field2,title:title 2,multiple:yes,>< field_key:field1,title:title 1,multiple:yes ,field_key:field2,title:title 2,multiple:yes,>
这不正确,这必须是:
metakey =“< field_key:field1,title:title 1,multiple:yes,>< field_key:field2,title:title 2,multiple:yes,>
我知道问题必须在“每个”功能的顺序/设置中。我的想法是第二个.each函数jQuery('div.' + dataid + ' ' + '.' + getcheck).each(function ()
只能在它上面的.each函数中工作。事实并非如此..
如何正确设置这些,以便输出如上所述?
所以这个问题可能就在这里:
jQuery('.filter-checkbox:checked').each(function () {
dataid = jQuery(this).data('id');
getchecked = jQuery(this).val();
getcheck = jQuery(this).data('rel');
val += getchecked + '="';
});
jQuery('.' + dataid).each(function () {
val += '<';
jQuery('div.' + dataid + ' ' + '.' + getcheck).each(function () {
但也许HTML中的某些更改也可以,但不确定。
希望我的问题很清楚。提前谢谢。
答案 0 :(得分:1)
更改行
jQuery('div.' + dataid + ' ' + '.' + getcheck).each(function () {
为:
jQuery(this).find('.' + getcheck).each(function () {