这个继续引发我的循环......只有Chrome才会发生这种情况。
我有一个“升级页面”,用户可以点击计划然后转到表单。我通过了?plan =#here,然后选择适合的选项。出于某种原因,在Chrome中,它正在选择它,因为它在inspect元素中显示...但是,它不会显示在选择框中。
我正在尝试一些不同的方法来使用jquery,php,html,以及我能想到的任何东西,但是看起来似乎没有任何工作。
这是jquery代码:
$(document).ready(function() {
var split = location.search.replace('?', '').split('=')
var getPlan = split[1];
console.log(getPlan);
if (getPlan == 1) {
$("#memberPlan").val('premium');
} else {
$("#memberPlan").val('vip');
}
function vip() {
var list = "";
list = "<option value=\"3\">VIP: per month ($9.00)</option>\n";
list += "<option value=\"4\">VIP: every 6 months ($47.00)</option>\n";
list += "<option value=\"5\">VIP: per year ($89.00)</option>\n";
$("#service").html(list);
}
function premium() {
var list = "";
list = "<option value=\"0\">Premium: per month ($5.00)</option>\n";
list += "<option value=\"1\">Premium: every 6 months ($27.00)</option>\n";
list += "<option value=\"2\">Premium: per year ($49.00)</option>\n";
$("#service").html(list);
}
var currentPlan = $("#currentPlan").text().toLowerCase();
$('#memberPlan').attr("value", currentPlan);
if ($("#memberPlan").val() == "premium") {
premium();
}
if ($("#memberPlan").val() == "vip") {
vip();
}
$("#memberPlan").change(function() {
if ($("#memberPlan option:selected").val() == 'vip'){
vip();
}
if ($("#memberPlan option:selected").val() == 'premium'){
premium();
}
});
});
这里是html / php($ payPlan是$ _GET ['plan']):
<select name="member_plan" id="memberPlan">
<option value="premium"<?php echo $payPlan == 1 ? ' selected':''; ?>>Premium</option>
<option value="vip"<?php echo $payPlan == 2 ? ' selected':''; ?>>VIP</option>
</select>
在此先感谢,任何帮助表示赞赏:)
答案 0 :(得分:0)
试试这个
$("#memberPlan").change(function() {
if ($(this).val() == 'vip'){
vip();
}
if ($(this).val() == 'premium'){
premium();
}
});
答案 1 :(得分:0)
有时我发现“on”处理程序绑定到具有更一致行为的元素。尝试?
$("#memberPlan").on('change', function() {
if ($(this).val() == 'vip'){
vip();
}
if ($(this).val() == 'premium'){
premium();
}
});