2016-08-05 8 views
0

私はVWOを使用してA/Bテスト版を作成しています。 ウェブサイトには、そのようにレイアウトされたチェックボックスが付いたリストがあります。一致しない兄弟からテキストを取得するにはどうすればよいですか?

<ol> 
    <li> 
     <label> 
      <input class="checkBox" type="checkbox"> 
      <p class="checkBoxAnc">Text to grab</p> 
     </label> 
    </li> 
</ol> 

適用ボタンがあります。このボタンをクリックすると、すべての入力を順番に確認します。チェックされている場合は、クラス "checkBoxAnc"(p要素)からテキストを取得し、変数に連結する必要があります。

var self= $(this); 
//This is referring to the input that the user has clicked, so class '.checkBox' 

self.next() // This doesn't work as element's do not match 

self.nextUntil('.checkBoxAnc') // Same issue as .next() 

var checkBoxSibling = self.parent().find('.checkBoxAnc').text(); 
// This returns an empty string 

これはむしろ「ラベル」

よりも「未定義」として返される親の型を見つけようとしてアクセスするための任意の他の技術はあります」:

は、私は、次の試してみました。 checkBoxAnc '?このような

+1

[私の作品](https://jsfiddle.net/tu4tv5kq/)。問題が発生している場合は、問題を実際に表す*完全でありながら最小限のデモンストレーションを提供する必要があります。 –

+1

'next()'を使って期待通りに動作します - https://jsfiddle.net/9vfyez40/ - [mcve]を与えてみてください – Jamiec

答えて

0

何か...

var foo = ''; 

$('input[type=checkbox]:checked').map(function() { 
    foo += $(this).next().text(); // value your looking for 
}).get(); 

https://jsfiddle.net/cmac_/8w7vghbt/

+0

'p'要素に値がありません –

+0

lol ...うわー!修正しました。 – cmac

+0

あなたは '$(" input [type = checkbox]:checked ")'が好きかもしれないと思います、あなたの現在のセレクタは動作しないと思います。 – DBS