2009-08-03 15 views
1

私はスパンタグのテキストを取得し、それを隠しフィールドに追加しようとしています。スパンタグのテキストを取得して非表示のフィールドに挿入する方法

おかげ

<form> 
    <span class="descriptionsPizza">EXTRA CHEESE</span> 
    <input name="textfield1" type="text" id="textfield1" class="valfield" size="2" maxlength="2" value="0" /> 

    <span class="descriptionsPizza">HAM</span> 
    <input name="textfield1" type="text" id="textfield1" class="valfield" size="2" maxlength="2" value="0" /> 

</form> 

ので、私は隠しフィールドにEXTRA CHEESEを追加したいと思います。

+0

直後にあると想定されますが、これはあなたが何をしたいですか?どのようにテキストが最初にスパンに入るのですか?あなたの例は、それがハードコードされていることを示しています。動的な場合は、それをonClickイベントまたはChangeイベントに追加する必要があります。 –

答えて

1

テキスト項目を配列にプッシュし、配列を結合して非表示入力に追加します。下のデモでは、各項目の間にスペースを入れてテキストを入力します。なぜなら、それがなぜ/どのように表示されるのかを指定していないからです。しかし、より良いアプローチがあります。あなたは非jsクライアントを考えましたか?

var spanText=[]; 

    $('span.descriptionsPizza').each(function(){ 

     var $span = $(this); 
     //is value of the next input greater than 0? 
     if ($span.next().val() > 0){ 
      spanText.push($(this).text()); 
     } 

    }); 


    $('input[name=qty]').val(spanText.join(' ')); 
+0

申し訳ありませんが、私は複数の.descriptionsPizza を持っていることを忘れてどのように私はより多くのフィールドでそれを行うことができるでしょう。 – amir

+0

返信いただきありがとうございます。その商品の数量が0より大きい場合にのみテキストを取得することができますか? ありがとうございます – amir

+0

あなたのプロジェクトを完了するために私にお支払いしますか? – redsquare

1
$("input[name=qty]").val($("span.descriptionPizza")); 
1
$("span.descriptionsPizza").each(function(){ 
    $(this).next("input").val($(this).text()); 
}); 

これは隠し入力はspan.descriptionsPizza

関連する問題