2016-03-22 53 views
0

私はフォームを持っているので、入力フォームを複製することができ、ラジオボタンに問題があります。 私が使用しようとすると:クローム開発ツールで同じ名前の複数の入力

$('form').serialize(); 

を私が持っている:

"text-field%5B%5D=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2+%D0%98%D0%B2%D0%B0%D0%BD+%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&text-h-alignment%5B%5D=42&text-v-alignment%5B%5D=42&text-field%5B%5D=(000)+000+00+00&text-alignment%5B%5D=center& text-h-alignment%5B%5D=42&text-v-alignment%5B%5D=42" 

あなたが見ることができるように、ラジオボタンは「アレイ」ではない、それはです一意の変数。 しかし、変数名の最後に "[]"記号を使用します。

<form> 
    <div class="row"> 
    <div class="col-lg-4"> 
     <div class="input-group"> 
     <div class="input-group-btn"> 
      <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Шаблон <span class="caret"></span> 
      </button> 
      <ul class="dropdown-menu"> 
      <li><a href="#" onclick="$(this).closest('.input-group').find('input[type=text]').val('Иванов Иван Иванович');">Имя</a></li> 
      <li><a href="#" onclick="$(this).closest('.input-group').find('input[type=text]').val('(000) 000 00 00');">Телефон</a></li> 
      <li><a href="#" onclick="$(this).closest('.input-group').find('input[type=text]').val('[email protected]');">E-mail</a></li> 
      <li><a href="#" onclick="$(this).closest('.input-group').find('input[type=text]').val('г. Город, ул. Улица 1');">Адрес</a></li> 
      <li><a href="#" onclick="$(this).closest('.input-group').find('input[type=text]').val('example.com');">Сайт</a></li> 
      </ul> 
     </div> 
     <input type="text" class="form-control" name="text-field[]"> 
     </div> 
    </div> 
    <div class="btn-group" data-toggle="buttons"> 
     <label class="btn btn-default active"> 
     <input type="radio" checked="checked" name="text-alignment[]" value="left"><span class="glyphicon glyphicon-align-left" aria-hidden="true"></span> 
     </label> 
     <label class="btn btn-default"> 
     <input type="radio" name="text-alignment[]" value="center"><span class="glyphicon glyphicon-align-center" aria-hidden="true"></span> 
     </label> 
     <label class="btn btn-default"> 
     <input type="radio" name="text-alignment[]" value="right"><span class="glyphicon glyphicon-align-right" aria-hidden="true"></span> 
     </label> 
    </div> 

    <div class="input-group spinner padding-15 pull-left"> 
     <span class="input-group-addon" id="basic-addon1"><span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span></span> 
     <input type="text" class="form-control" value="42" name="text-h-alignment[]"> 
     <div class="input-group-btn-vertical"> 
     <button class="btn btn-default" type="button"><i class="glyphicon glyphicon-chevron-up"></i></button> 
     <button class="btn btn-default" type="button"><i class="glyphicon glyphicon-chevron-down"></i></button> 
     </div> 
    </div> 

    <div class="input-group spinner padding-15 pull-left"> 
     <span class="input-group-addon" id="basic-addon1"><span class="glyphicon glyphicon-arrow-up" aria-hidden="true"></span></span> 
     <input type="text" class="form-control" value="42" name="text-v-alignment[]"> 
     <div class="input-group-btn-vertical"> 
     <button class="btn btn-default" type="button"><i class="glyphicon glyphicon-chevron-up"></i> 
     </button> 
     <button class="btn btn-default" type="button"><i class="glyphicon glyphicon-chevron-down"></i> 
     </button> 
     </div> 
    </div> 

    </div> 
    <div class="row margin-top-15"> 
    <div class="col-lg-4"> 
     <a href="#" class="color-green" onclick="$(this).closest('.container-fluid').find('.row:eq(0)').clone().prependTo($(this).closest('.container-fluid form'))"> 
     <div class="circle green-circle circle-position pull-left"><span class="glyphicon glyphicon glyphicon-plus color-white circle-plus" aria-hidden="true"></span>  </div>Добавить еще поля</a> 
    </div> 
    </div> 
</form> 
+0

[]はサーバ上の配列にするだけです – mplungjan

+0

@mplungjanしかし、わかりません。しかし、私はラジオボタンを「分割する」こともできます。 –

+2

なぜそれを配列にしたいのですか?ラジオボタングループの名前が同じ場合は、いずれか1つが選択され、その値が値になります。配列であってはなりません –

答えて

0

私はHTMLでネイティブの解決策を見つけることができませんでした:

は、ここに私のHTMLです。

したがって、それはJSにこのようなソリューションを使用する必要がありました。その結果

$(this).closest('.container-fluid').find('.row:eq(0)').clone(true).find('input[type=radio]').attr('name', function(i, val){return val.replace(/(\d+)/, function(n){ return ++n })}); 

を、あなたは「重複フィールド」をクリックすると、名前のラジオボタンを表示されます:テキスト整列[1] 、text-alignment [2] ...

関連する問題