根据jQuery中选择菜单创建的输入更改变量值

时间:2012-02-21 14:35:40

标签: jquery variables for-loop each

我需要使用ajax和php将输入值传递给db,但是在将值存储在变量中以将其作为查询字符串传递时会出现问题,因为我不知道将有多少输入。所需代码位于$("#addVote").click(function(){ });

JSFiddle:http://jsfiddle.net/m55U4/

<form action="" method="post">
    <div class="add_vote" style="width:300px; min-height:50px; max-height:100%;">
        <div class="question" style="width:210px; float:right;">
            <select id="Num">
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
            </select>
        </div>
        <div class="answers" style="width:300px; float:right; min-height:30px; max-height:100%;"></div>
        <div class="add_vote" style="width:300px; float:right; min-height:30px; max-height:100%; text-align:center;">
            <input name="" type="button" id="addVote" value="save" />
        </div>
    </div>
</form>

使用Javascript:

$(document).ready(function () {

    var num = $("#Num :selected").val();

    get_num();

    $(".answers").html('');
    var num = $("#Num :selected").val();
    for (var x = 1; x <= num; x++) {
        $(".answers").append('<input type="text" class="' + x + '">');
    }

    $("#addVote").click(function () {

    });

});

function get_num() {
    $("#Num").change(function () {
        $(".answers").html('');
        var num = $("#Num :selected").val();
        for (var x = 1; x <= num; x++) {
            $(".answers").append('<input type="text" class="' + x + '">');
        }
    });
}

1 个答案:

答案 0 :(得分:2)

您可以使用方法.serialize()来序列化表单。

$('form').serialize()

您必须为输入命名,以便该方法能够生成查询字符串。

<强> DEMO