0

うまくいけば、誰かがここで私を助けてくれるでしょう。

モーダルポップアップでユーザーのリストを表示するページがあります。このページには2つの方法でアクセスできます。1つは未承認のユーザーを選択してページを開く方法、もう1つはユーザーアカウントを選択して名前などの検索条件があるかどうかを尋ねるポップアップを開く方法です。検索すると、ユーザーのページが表示されます。

フォームにフィルターをクリアするためのボタンがあります。未承認のユーザーページで実行すると、ボックスは正常にクリアされますが、他の方法でフォームで実行すると、コードはテキストボックスを空にせず、アラートを試行してもデータが表示されません。アラートは未承認のルートで機能しますが!

これが私が使用しているjqueryです:

    clear: function () {
        //reset filters//
        $('.usersFilterList li').remove();
        $('.userFilterSelect option').show();

        $('#UserFilter_SearchTermIncluded').attr('value', ''); // This line doesn't seem to work properly

        alert($('#UserFilter_SearchTermIncluded').attr('value'));

        //hide filter options
        MSG.showNHide('', '#usersFilterBox');

        //reset modal control buttons
        $('#usersButSaveFilter,#usersButClearFilter').hide();
        $('#usersButFilter').fadeIn();

        usersFilter.refresh(0);
    }

誰かが私が愚かなことをしているのかどうか見ることができますか?私が言っているように、それは同じMVCアクションから呼び出されたのとまったく同じフォームであり、その間に他のポップアップがあります。

これが紛らわしい場合はお詫び申し上げます。恐れているコードをこれ以上投稿することはできません。ただし、テキストボックスのIDは正しいと確信できます。

私は何時間もそれを見つめているので、ここでのアドバイスは大歓迎です...

乾杯、ガレス

2番目のオプションを右クリックして新しいタブで実行し、最初のポップアップをフルページとして実行すると、コードが機能します。したがって、問題は2つのポップアップがあることであるように見えます。

解決済み

私は自分自身の回避策を見つけました、あなたのすべての助けに感謝します。

クラスを割り当て、そのクラスのアイテムを検索して、次のようにクリアしました。

    $('.jq-clearme').val('');

できればこれを閉じます。担当者が少なすぎるため、まだ許可されていません。

4

4 に答える 4

2

要素の値を変更する (または取得する) ために、属性にアクセスするのは間違った方法です。双方向で同期されません。あなたが望むのはプロパティです。.prop('value'[, newvalue])jQueryでそれを取得/設定する正しい方法で公開されていますが.val([newvalue]).

要素の値をクリアするには、次を使用します。

$('#UserFilter_SearchTermIncluded').val('');

取得/表示するには、使用します

alert($('#UserFilter_SearchTermIncluded').val());
于 2012-05-25T09:48:46.587 に答える
0

2回投稿したJavascriptをロードしている可能性のあるajax呼び出しが含まれているため、2回目に呼び出されたときに(ajax呼び出しの後に)競合が検出されますか?

.val('')他の人が述べたように、値を設定して値を取得するために使用するのが最適.val()です。Javascriptエラーがある場合は、firebugをチェックインしてください。

于 2012-05-25T12:02:14.150 に答える
0

val()入力の値を取得/設定するために使用する必要があります。

値を取得するには、パラメーターなしで使用します。

$('#UserFilter_SearchTermIncluded').val();

パラメータを使用して値を設定します。この場合は何も設定しません。

$('#UserFilter_SearchTermIncluded').val('');
于 2012-05-25T09:49:25.010 に答える
0

私は自分自身の回避策を見つけました。すべての助けに感謝します。

クラスを割り当てて、そのクラスのアイテムを検索し、次のようにクリアしました。

$('.jq-clearme').val('');

できたら閉めます。担当者が少なすぎるため、まだ許可されていません。

于 2012-05-28T09:46:26.430 に答える