我希望获取表单输入的值。
我认为我的问题出在这一行:
var vid = $(this).next(".pid").val();
我需要将名为“pid”的输入框的值发送到一个php页面,但是该页面上有多个表单,所有表单都带有名为“pid”的输入框。当我只有:
next(".pid").val();
发送的值来自页面上的另一个表单。
编辑: 我真正想做的就是将“数据”设置为表单中所有数据的数组。因此,如果有更好的方法将“formdata”变量设置为表单的 id,那也是可行的。
下面是 jQuery 函数:
$(".varSel").live("change", function(){
var vid = $(this).next(".pid").val();
var formdata = $('form#addToCart'+ vid).serialize();
$.ajax({
type: "POST",
url: "library/varPrice.php",
data: formdata,
success: function(html){
$('.price').html(html);
}
});
});
编辑:
下面是一个表格:
<form name='addToCart' id='addToCart99' action='cart.php?action=add' method='post'>
<ul class='vars' id='varlist_p99'>
<li>
<label for="color">color</label>
<select id="color" name="color" class='varSel'>
<option>blue</option>
<option>green</option>
<option>red</option>
</select>
</li>
<li>
<label for="size">size</label>
<select id="size" name="size" class='varSel'>
<option>large</option>
<option>small</option>
</select>
</li>
<li>
<div class='price'>
$$
</div>
</li>
<li>
<input type='hidden' value='99' name='pid'>
<input type='submit' class='buynow' value=''>
</li>
</ul>
</form>
最佳答案
替换这个:
var vid = $(this).next(".pid").val();
var formdata = $('form#addToCart'+ vid).serialize();
这样:
var formdata = $(this).parents('form').serialize();
经过测试并有效。
关于jQuery 需要从表单输入框的值设置变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/604903/