当然,我在这里缺少一些简单的东西。我正在尝试通过jquery为隐藏字段赋值。它一直没有返回,我尝试了几件事。我在一个名为personemail []的表单上有一个数组,它相应地指定和命名字段,personemail [0],personemail [1]等,我想提取列出的第一个电子邮件地址并将其分配给名为person_email的隐藏字段。
<script type="text/javascript" charset="utf-8">
jQuery(document).ready(function() {
var emailvalue = jQuery('#personemail[0]').val();
jQuery('#person_email').val(emailvalue);
});
</script>
我是jquery的新手,所以这对于我所缺少的东西来说有点神秘。我需要在#emailperson []上使用.change()吗?我假设我需要闯入数组来获取值,但我不确定如何。我无法让这件作品发挥作用。
这是帖子数据
Array ( [person_name] => max
[person_email] =>
[person_phone] => 111-1111
[booking_seats] => 1
[personname] => Array ( [0] => max )
[personemail] => Array ( [0] => max@max.com )
[booking_comment] =>
[eventAction] => add_booking
[event_id] => 14 )
正如你所看到的,我把电子邮件地址放到了数组中就好了,我只是不能让它坚持到person_email
这是一个配对的HTML版本,服务器端语言是php。输入是通过我编写的jquery clone函数生成的。根据所选人数的下拉列表为每个新人吐出一个html元素:
<form id='rsvp-form' name='booking-form' method='post' action='<?php echo $destination ?>'>
<tr class="personrow">
<th scope="row"></th><td>Name:<br><input class="required person" type="text" name="personname[0]" /><br>Email:<br><input class="required email additional" type="text" name="personemail[0]" id="personemail[0]" /></td><td class="theextra"></td>
</tr>
<input type='hidden' name='person_email' id='person_email' />
<input type='submit' class='blkBTN' value='<?php _e('Book It!', 'dbem') ?>'/>
<input type='hidden' name='eventAction' value='add_booking'/>
<input type='hidden' name='event_id' value='<?php echo $EM_Event->id; ?>'/>
由于
答案 0 :(得分:0)
你应该在选择器中使用括号(带反斜杠),因为括号是jquery选择器中的特殊字符。所以你应该:
var emailvalue = jQuery('#personemail\\[0\\]').val();
希望这会有所帮助。欢呼声。
答案 1 :(得分:0)
在我看来,在提交文档之前,您正试图获取文档的输入数据。在那一刻,输入字段中没有任何内容可供读取。我要做的就是提交,就像这样
$("#rsvp-form").submit(function(event){
event.preventDefault(); //stop the form from submitting, you'll do it later
var emailvalue = $("personemail\\[0\\]").val();
$("#person_email").val(emailvalue);
$("#rsvp-form").submit(); //you got the hidden input value, now submit the form
});
这是一个jsfiddle示例http://jsfiddle.net/x6dPd/
编辑:示例中有一个拼写错误。