jQuery 需要从表单输入框的值设置变量的值

标签 jquery ajax forms

我希望获取表单输入的值。

我认为我的问题出在这一行:

    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/

相关文章:

javascript - 如何转义ajax数据中的特殊字符?

javascript - 带有 javascript 的 HTML 表单在 IE 中获取 "NaN"但在 Chrome 中有效

jquery - 将 onsubmit 替换为 jquery

php - 使用 jQuery AJAX 通过 FormData 上传文件

javascript - 如何从异步调用返回响应?

javascript - 完成后跳转至进度条末尾

c# - 为什么这个 javascript 对象不转换为 C# 类对象?

javascript - 使用输入数据减去文件类型创建新的 formData

javascript - 对于循环闭合

javascript - 提交多个表单同一个 jquery 脚本