1

わかりました..これは説明するのが少し難しく、タイトルの呼び方がわかりませんでした。とにかく、私はそれをより明確にするためにフィドルを作りました:このフィドルを見てください

私が欲しいものは?

私はWordpressプラグインに取り組んでいます.Fiddleに表示されるのは、ショートコードを追加するバックエンドの機能です. ユーザーにとって簡単にするためのショートコードジェネレーターのようなものです。ユーザーは、必要なだけフィールド グループを追加できる必要があります。

どうしたの?

だから..プラグインをうまく機能させるには、正確なショートコードを取得する必要があります。Readyボタンでショートコードが生成されます。フィールド グループが 1 つしかない場合、出力 (ショートコード) は次のようになります。

metakey="< field_key:field1, title:, 複数:はい,>

どちらが正しい。

ここで、[追加] ボタンを押して別のフィールド グループを追加し、次に [準備完了] ボタンを押すと、出力が間違っています。すべての単一フィールドを 2 回出力します。このような:

metakey="< フィールド キー: フィールド 1, タイトル: タイトル 1, 複数: はい, フィールド キー: フィールド 2, タイトル: タイトル 2, 複数: はい,>< フィールド キー: フィールド 1, タイトル: タイトル 1, 複数: はい, フィールド キー: フィールド 2, タイトル:タイトル 2, 複数:はい,>

これは正しくありません。次のようにする必要があります。

metakey="< フィールド キー: フィールド 1, タイトル: タイトル 1, 複数: はい,>< フィールド キー: フィールド 2, タイトル: タイトル 2, 複数: はい,>

問題は、「各」機能の順序/設定のどこかにあるに違いないことを私は知っています。私の考えは、2 番目の .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 のいくつかの変更も機能する可能性がありますが、確かではありません。

私の問題が明確であることを願っています。前もって感謝します。

4

1 に答える 1

1

行を変更

jQuery('div.' + dataid + ' ' + '.' + getcheck).each(function () {

に:

jQuery(this).find('.' + getcheck).each(function () {

参照: http://jsfiddle.net/bTER5/60/

于 2013-09-03T10:57:21.763 に答える