我正在尝试使用alertify库弹出警报,当下拉列表中的值为“0”并且用户尝试单击“添加另一个计划”按钮时。出于某种原因,警报不会出现。
alertify库的JS工作正常,因为我已经在其他场景中进行了测试并且确实弹出了,但由于某种原因,在这种情况下它无法正常工作。
HTML:
<select id="myselect" class="dropdown">
<option value="0">Please Select Your Plan</option>
<option value="1">package1</option>
<option value="2">package2</option>
<option value="3">package3</option>
<option value="4">package4</option>
<option value="5">package5</option>
<option value="6">package6</option>
</select>
<div class="button-plan"><input type="button" value="Add another plan to enjoy more savings!" class="button-hide" /></div>
JS:
$('#myselect').change(function () {
var val = $(this).val();
if (val =='0'){
$(".button-hide"). on (" click " ,function(){
alertify.alert("You need to atleast select one plan !");
});
}
此处提供小提琴:http://jsfiddle.net/6FLWY/1/
非常感谢你的帮助!
答案 0 :(得分:1)
仅在按下按钮时尝试检查选择的值:
$(".button-hide").on(" click " ,function(){
if($('#myselect').val()==0)
alertify.alert("You need to atleast select one plan !");
});
答案 1 :(得分:1)
目前你有错误的绑定和检查序列(目前,每次用户选择你绑定的选项&#34;点击&#34; event to button。所以在用户第一次选择选项之前,没有点击逻辑绑定)。
绑定&#34;点击&#34;首先是事件逻辑并检查其中的当前列表值:
$(".button-hide").on("click" ,function(){
if ($('#myselect').val() == '0') {
alertify.alert("You need to atleast select one plan !");
}
});
答案 2 :(得分:1)
如果将select更改为第一个选项,则您的脚本正在向该按钮添加事件处理程序。您应该添加按钮事件处理程序,并检查下拉值而不是...
$(".button-hide").on("click" ,function() {
var val = $("#myselect").val();
if (val === "0") {
alertify.alert("You need to atleast select one plan !");
}
});
<强> Working jsfiddle example... 强>
答案 3 :(得分:0)
simply try the code as written below:
$(".button-hide"). on ("click" ,function(){
if($('#myselect').val()=="0")
alertify.alert("You need to atleast select one plan!");
});
答案 4 :(得分:-1)
$('#myselect').change(function (e) {
var val = $(this).val();
if (val =='0'){
$(".button-hide"). on (" click " ,function(){
alertify.alert("You need to atleast select one plan !");
e.preventDefault();
});
}});