从$。(ajax)获取单选按钮值并在SQL查询中传递它

时间:2016-04-19 19:56:39

标签: javascript php jquery mysql ajax

我有两组收音机按钮:一组用于汽车品牌,另一组用于汽车品牌。选择"奥迪"来自汽车品牌将以品牌名称"奥迪"取得所有车型。在我的数据库中通过$(ajax)。

autogen.sh
configure.ac
test.pl

我的问题是models.php无法从所选汽车品牌中获得价值。这可能是因为我的汽车品牌也会动态变化(与汽车模型一样),具体取决于选择的位置。

换句话说,这个while循环在function fetchModels() { $.ajax({ type: "POST", url: "script/rent/models.php", data: {dateFrom: selectedDateFrom, dateTo: selectedDateTo, destination: selectedDestination, brand: selectedBrand}, success: function(data) { $("#model-wrapper").html(data); } } );} // fetchModels END /* Whenever the selected car brand is changed, change the value of selectedBrand and run the function fetchModels(). */ $('input[type=radio][name=brand]').on('change', function() { switch($(this).val()) { case 'Audi': selectedBrand = "Audi"; break; case 'Toyota': selectedBrand = "Toyota"; break; case 'Volkswagen': selectedBrand = "Volkswagen"; break; case 'Volvo': selectedBrand = "Volvo"; break; } fetchModels(); }); 中运行以获取汽车品牌:

brands.php

如果我手动将while ($row = mysqli_fetch_array($result)) { $brand = $row['brand']; echo "<input type=\"radio\" name=\"brand\" value=\"$brand\">" . $brand . "</input>"; } 添加到PHP文件中,它可以正常工作,但它无法从生成的值中获取值。

gif解释我的问题:

A gif explaining my issue

奥迪和大众是由<input type="radio" name="brand"/>生成的单选按钮,而brands.php显然不是。

1 个答案:

答案 0 :(得分:0)

根据您链接的your generated HTML图片,问题来自您正在使用的案例陈述。生成的值不存在于case语句中,因此不会选择任何大小写,因此不会设置selectedBrand。它与静态与动态生成的元素无关。

正如评论中指出的那样,案例陈述无论如何都是多余的。将其替换为selectedBrand = $(this).val()。因此,您将获得所选的值,无论它是什么