1

私は何か奇妙なことが起こっています。オプションが選択されたときにイベントを発生させようとしています。現在、テストに alert() を使用していますが、その上のラジオやチェック ボックスのいずれかが選択されていないと機能しません。誰が私に何が起こっているのか教えてもらえますか?

問題のオプション グループは「ベッドルーム」です

例はここにあります: bvp.dmediastudios.com/v3/

jQuery

    if ($('input').is(':checked')) {

        // parent(1) = #harwidget, parent(2) = #homefinderform, parent(3) .frmRow - find .frmLabel
        $(this).parent().parent().parent().find('.frmLabel').addClass('frmLabelChecked');

        //$(this).parent().parent().parent().find('.frmInput').addClass('frmLabelCheckedInput');

    }

    // property type options

    $('#divBuyType').on('click', 'input:checkbox', function () {
        $(this).parent().parent().parent().parent().find('.frmLabel').toggleClass('frmLabelChecked', this.checked);
    });

    // select options w/ TWO select fields (ie listing price, square feet and year built)

    $('select[name=BEDROOM_NUM]').on('change', function() {
        alert('dedfdfd');
    })
4

1 に答える 1

1

コードのセクションが になる前に、示したコードの重要な部分を見逃していました。つまり、入力をクリックするたび$('input').click(function () {にイベント ハンドラー ( ) を適用していることになります。$('select[name=BEDROOM_NUM]').on('change', function()

チェックボックスをスパムクリックして寝室の量を変更しようとすると、いくつかのアラートがあることに気付くでしょう。これは、マウス クリックごとにバインドしているためです。動かしてみる

 $('select[name=BEDROOM_NUM]').on('change', function() {
   alert('dedfdfd');
 })

の外側$('input').click(function () {

于 2013-06-05T15:59:37.867 に答える