一直在努力解决这个问题,我试图做的是先从文本中创建第二个隐藏的输入字段,这取决于所选择的内容,这是我尝试过的:
<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>
所以基本上我试图做的是创建第二个隐藏的表单输入,当提交输入的值时,使用此选择的文本
答案 0 :(得分:2)
写.val($extraval)
代替.val("$extraval")
。这不是PHP。
jsFiddle Demo(创建文本输入而不是隐藏 - 用于可见性目的)
此外,选择器'#form'
要求代码中的表单具有标识form
。您可以使用以下方法之一获取select
所属的表单:
$('#citycode').closest('form').append(input);
或
input.appendTo($('#citycode').prop('form'));
答案 1 :(得分:2)
假设它在#form
内,我发现了两个错误:
"
值设置为input
作为参数时,您不必使用$extraval
。.append(input)
请尝试以下方法:
var extraval = $('#citycode option:selected').text();
var $input = $("<input>", {
'type': 'hidden',
'name': 'city',
'value': extraval
});
$('#form').append($input);
答案 2 :(得分:2)
<script>
var extraval = $('#citycode option:selected').text();
var input = $("<input>").attr("type", "hidden").attr("name", "city").val(extraval);
$('#form').append($(input));
</script>
试试这段代码
答案 3 :(得分:2)
http://jsfiddle.net/pWkDR/ ..这就是你应该做的事情
CODE:
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
答案 4 :(得分:0)
好的,谢谢大家的帮助,这就是我如何运作
<script>
$('#form').submit(function() {
var extraval = $('#citycode option:selected').text();
var $input = $("<input>", {
'type': 'hidden',
'name': 'city',
'value': extraval
});
$('#form').append($input);
});
</script>
放在表单末尾的很棒