2011-12-06 20 views
2

回答が複数あるアンケート質問を作成しています。jqueryクローンのテキストボックスの値を取得する方法は?

textboxをクローニングするためのbuttonがあります。 しかし、私はどのようにしてtextboxをクローン化した人の価値を、特にコードビハインドから得るのですか?

function generateRow() { 
     if (totalans == 9) { 
      $('#<%= label2.ClientID %>').html('<b>Maximum of 10 answers per questions reached</b>'); 
     } 
     else { 
      $("#ans").clone().prependTo("#ans2"); 
      totalans = totalans + 1; 
     } 

//#アンスが部門です:

は、ここに私のコードです。

お願いします。 私はそれを取得しようとしました。

String bla = tb_ans.ToString(); String[] splitAnswer = bla.Split(','); int a = splitAnswer.Length;

// tb_ans背後// C#のコードは、私のテキストボックスのIDです。

私は配列を使用しようとしましたが、最初のtextboxの値をダンプするだけでした。

+0

あなたがクローニングされているもののIDを変更する必要があります。 2つの要素はidを共有できません。 –

+0

追加情報:最大8回クローンできるボタン。そのために私は特定のIDに割り当てることによって有用であるとは思わない?いいえ? –

答えて

1

あなたのコメントを見た後、私は私の答えを改訂しました:

function generateRow() { 
    if (totalans == 9) { 
     $('#<%= label2.ClientID %>').html('<b>Maximum of 10 answers per questions reached</b>'); 
    } 
    else { 
     totalans = totalans + 1; // same as totalans++; 
     $("#ans").clone().attr({id: "ans_clone_" + totalans, name: "ans_clone_" + totalans}).prependTo("#ans2"); 
     // then you can loop through each input using the totalans variable. 
    } 
+0

ええ、ありがとう。それは8回クローンできるようになります。 それは私が8行書く必要があるということですか? –

+0

totalans変数を含めるように答えを変更しました。各入力をループすることができます。 – sirmdawg

+0

解決に感謝します。しかし、今のところコードの価値をどのように得るのか混乱していますか? –

0

あなたはすぐにポップアップし、ここで2つのオプションがあります。

オプション1:代わりにクローンの、サーバー側を生成し、必要になるまで隠す - あなたがそれらを必要なときにそれらを表示するように表示を変更します。

オプション2:テキストボックスクローンの値をajax経由でサーバーに送信します。

個人的には、事実上無制限の数のボックスをクローンしてからサーバーに処理するために値を送信するという方法で2番目の方法を選択します。

+0

オプション2についてさらに説明することができますか?私はコードの後ろにコードを行うのに慣れていたので、私はサーバーに値を送る方が好きです。 –

0

フォームを送信するときにDOMの名前ごとに要素の値がポストされるので、テキストボックスを複製するときは、名前を変更して、サーバー側にすべてのテキストボックスの値を設定する必要がある場合は一意の名前を付けます。

+0

うーん..私はあなたが何を意味するかはかなり理解していません。 –

0

クローンに固有のIDを設定して、javascriptでアクセスできるようにする必要があります。フォームの一部としてサーバーに一意的に送信したい場合は、一意の名前も設定します。

$("#ans").clone().attr({id: "ansClone2", name: "ansClone2"}).prependTo("#ans2"); 
関連する問題