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