0

ドロップダウンの値が「0」で、ユーザーが [別のプランを追加] ボタンをクリックしようとしたときに、alertify ライブラリを使用してアラートをポップしようとしています。なぜかアラートが出ません。

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/

助けてくれてありがとう!

4

5 に答える 5

1

ボタンが押されたときのみ、select の値を確認してみてください。

$(".button-hide").on(" click " ,function(){
    if($('#myselect').val()==0)
        alertify.alert("You need to atleast select one plan !");                        
});

ワーキングデモ

于 2014-04-09T11:12:08.550 に答える
1

現在、バインドとチェックの順序が間違っています (現時点では、ユーザーがオプションを選択するたびに、「クリック」イベントをボタンにバインドします。そのため、ユーザーが初めてオプションを選択するまで、クリック ロジックはバインドされません)。

最初に「クリック」イベント ロジックをバインドし、その中の現在のリスト値を確認します。

$(".button-hide").on("click" ,function(){
    if ($('#myselect').val() == '0') {
        alertify.alert("You need to atleast select one plan !");
    }                        
});
于 2014-04-09T11:12:42.630 に答える
1

選択が最初のオプションに変更された場合、スクリプトはボタンにイベントハンドラーを追加しています。とにかくボタンイベントハンドラーを追加し、代わりにドロップダウン値をチェックする必要があります...

$(".button-hide").on("click" ,function() {
    var val = $("#myselect").val();
    if (val === "0") {
        alertify.alert("You need to atleast select one plan !");                        
    }
});

作業中のjsfiddleの例...

于 2014-04-09T11:13:06.920 に答える
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!");  
    });
于 2014-04-09T11:18:11.623 に答える
-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();
            });
        }});
于 2014-04-09T11:13:15.820 に答える