1

これに苦労している私がやろうとしていることは、最初に選択されたものに応じて、テキストから2番目の非表示の入力フィールドを作成することです。これはiveが試したことです。

  <script>
   var $extraval = $('#citycode option:selected').text();
   var input = $("<input>").attr("type", "hidden").attr("name", "city").val("$extraval");
   $('#form').append($(input));
  </script>

これは最初の選択がどのように見えるかです

<select id="citycode" name="citycode">
  <option value="3439389">Asuncion</option>
  <option value="3439352">Bella Vista</option>
  <option value="3439101">Ciudad Del Este</option>
  <option value="3438735">Encarnacion</option>
</select>

したがって、基本的に私がやろうとしているのは、入力の値として送信されたときに、この選択のテキストを使用して2番目の非表示のフォーム入力を作成することです

4

5 に答える 5

3

内部にあると仮定すると、#form2つのエラーが見つかりました。

  • 値の受け渡しをパラメータとして"設定する場合は、を使用する必要はありません。input$extraval
  • inputはすでにjQueryオブジェクトであるため、追加するには次の手順を実行する必要があります。.append(input)

次のことを試してください。

var extraval = $('#citycode option:selected').text();
var $input = $("<input>", {
    'type': 'hidden',
    'name': 'city',
    'value': extraval
});
$('#form').append($input);

デモ

于 2012-08-29T11:34:10.657 に答える
2

.val($extraval)の代わりに書いてください.val("$extraval")。これはPHPではありません。

jsFiddleデモ(非表示の代わりにテキスト入力を作成します-可視性の目的で)

また、セレクター'#form'は、IDを持つコード内のフォームを想定していますformselect次のいずれかを使用して、が含まれているフォームを取得できます。

$('#citycode').closest('form').append(input);

また

input.appendTo($('#citycode').prop('form'));
于 2012-08-29T11:33:17.323 に答える
2
  <script>
   var extraval = $('#citycode option:selected').text();
   var input = $("<input>").attr("type", "hidden").attr("name", "city").val(extraval);
   $('#form').append($(input));
  </script>

このコードを試してください

于 2012-08-29T11:34:53.487 に答える
2

http://jsfiddle.net/pWkDR/ ..これはあなたがすべきことです

コード:

var $extraval = "yourtext";
var input = $("<input>").attr("type", "hidden").attr("name", "city").val($extraval);
$('body').append(input);

// check in inspect element your  hidden field is there with data
于 2012-08-29T11:38:31.723 に答える
0

さて、皆さんの助けに感謝しますこれが私がそれを機能させた方法です

<script>
  $('#form').submit(function() {
  var extraval = $('#citycode option:selected').text();
  var $input = $("<input>", {
   'type': 'hidden',
   'name': 'city',
   'value': extraval
   });
  $('#form').append($input);
 });
</script>

フォームの最後に配置するとうまくいきます

于 2012-08-29T12:16:48.270 に答える