jquery - 使用 jQuery 根据多个 <select> 选项更改表单操作

标签 jquery html forms

我想做的是根据多个选择中选定的选项来更改表单操作。在这种情况下,有两个选择,但想法相同。我试图将用户定向到提交时的特定网址。到目前为止,它确实指导了用户,但它只返回一个“女性”以及选择的“年龄”选项。年龄部分是正确的,但它不会区分“男性”或“女性”选项。所以我得到一个返回的网址,例如:http://domain.com/somepage.php#female_(age Selection)

我是一个 javascript 菜鸟,但我已经尝试了几个小时来完成这项工作,并且仍在尝试。我确实得到了一些帮助:javascript - change form action based on selection?但仍未解决。非常感谢任何帮助!

标记:

<form action="">
    <fieldset>
        <select id="gender">
            <option value="male">male</option>
            <option value="female">female</option>
        </select>
        <select id="age">
            <option value="teen">teen</option>
            <option value="adult">adult</option>
        </select>
    </fieldset>
    <input type="submit" value="Submit">
</form>

jQuery:

$("#gender").change(function() {
    var action = $(this).val() == "male";
        $("#age").change(function() {
    if ($(this).val() == "teen"){
        $("form").attr("action", "somepage.php#male_teen")};
    if ($(this).val() == "adult"){
        $("form").attr("action", "somepage.php#male-adult")};
    });
    var action = $(this).val() == "female";
        $("#age").change(function() {
    if ($(this).val() == "teen"){
        $("form").attr("action", "somepage.php#female-teen")};
    if ($(this).val() == "adult"){
        $("form").attr("action", "somepage.php#female-adult")};
    }); 
});

最佳答案

未经测试,但可能是这样的:

$("#gender, #age").on('change', function() {
    var gender = $("#gender").val(),
        age = $("#age").val(),
        site = "somepage.php#"+gender+"-"+age; //inconsistent use of -/_

        $("form").attr("action", site)};
    }); 
});

关于jquery - 使用 jQuery 根据多个 <select> 选项更改表单操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9423994/

相关文章:

php - 整数 : What is a good way to solve this? 的 CSS attr()

javascript - 如何禁用/启用表单或多个表单元素之间的选择选项?

javascript - jQuery Flot 跳过 x 轴值

javascript - 选中时下拉标题更改

css - 禁用轨道点击输入类型范围

JavaScript "undefined"输出问题

Angular:访问投影的 FormGroup

javascript - data.forEach 不是一个函数

javascript - 如何使用生成的 javascript 代码打开一个新窗口?

javascript - 查找具有某个类的所有元素,将它们的 ID 保存到一个数组中,然后将该 ID 数组传递到回调中