私は、特定のクラスを持つHTML要素のテキスト値をパラメータとして関数内の関数に渡そうとしています。それぞれの中のjQuery関数は、最後の要素からの値を返すだけです
出力は最後に渡されたテキスト値のみを返します。
各テキスト値は、その横の要素に含まれる関数に割り当てたいので、htmlコードのすべての異なるブロックの関数のパラメータとして値を返します。
のjQueryコード:
$(".optin-holder").each(function(index,obj) {
$(this).html("<div class='contentOptin'>" + new Optin($(this).next().text()) + "</div><br/><br/>");
//$(this).html("<div class='contentOptin'>" + $(this).next().text() + "</div><br/><br/>");
});
function Optin(promoNumber){
var promo = promoNumber;
var content = '<input onclick="javascript:saveActivity('+promo+')" type="button" name="logOptin" value="PARTICIPAR" class="btn btnParticipate" />';
$(".contentOptin").html(content);
}
HTML:
<div class="offerBoxAll">
<div class="optin-holder">
<div class="contentOptin">
<input class="btn btnParticipate" onclick="javascript:saveActivity(1284)" name="logOptin" value="PARTICIPAR" type="button">
</div>
</div>
<div class="test">1283</div>
</div>
<div class="offerBoxAll">
<div class="optin-holder">
<div class="contentOptin">
<input class="btn btnParticipate" onclick="javascript:saveActivity(1284)" name="logOptin" value="PARTICIPAR" type="button">
</div>
</div>
<div class="test">1284</div>
</div>
あなたはそれが各反復にだけ最新の値を渡して見ることができるように。
.contentOptin
クラスのすぐ隣に.test
クラスの値を渡す必要があります。
コメント行は、私が各繰り返しで必要とする値を私に与えますが、パラメータとして関数内にはありません。 Optin(param)
関数は、.test
クラステキストの値をsaveActivity(param)
に渡すコードを、.contentOptin
クラスの要素内のパラメータとして機能させます。
本当にそれを再現することはできません - > https://jsfiddle.net/adeneo/zym4gsrp/ – adeneo
[jsfiddle example](https://jsfiddle.net/puzzledGalore/rrufmpsf/) – puzzledGalore