4

私の問題は、次のように生成された 2 つの aspx コントロールを取得したことです。

<a id="sortByDate" href="javascript:__doPostBack('sortByDate','')">Date</a>
<a id="sortByLastName" href="javascript:__doPostBack('sortByLastName','')">Last name</a>

これらのリンクを使用すると、結果を並べ替えることができます。リンクを使用する代わりに、これをコンボボックスに入れようとしています。

なのでこんな感じにしました

<select id="sortBySelect" onchange="javascript:sortBy(this);">
       <option value="sortByLastName">Last name</option>
       <option value="sortByDate">Date</option>
</select>

このJavaScript関数で

function sortBy(sel) {
    var id = sel.value;
    $("#" + id).trigger("click");
}

したがって、コンボボックスで選択した要素を変更すると、リンクのクリックイベントをトリガーして、dopostback を呼び出してソートしたいと考えています。

これまでのところ何もしません。「クリック」、「オンクリック」、「オンクリック」を試しましたが、何も機能しません。残念ながら、これは IE quirks モード用です。

私は知っています、これは本当にエレガントではありませんが、私は本当に時間がないので、迅速で汚いものが必要です. これを適切に処理するために、最終的に aspx コントロールを作成します。

つまり、癖モードでこれを機能させる方法はありますか?

ありがとうございました

4

4 に答える 4

2

__doPostBack直接起動してみませんか:

function sortBy(sel) {
    var id = sel.value;
    __doPostBack(id,'');   
}
于 2013-06-27T12:51:01.420 に答える
1

すべてが意図したとおりに機能します!

JSFミドルプルーフ。

sortByIdidとsortByLastName!を持つ要素があることを確認してください。


JavaScript/jQuery

$(document).ready(function(){
    $('#sortByDate').click(function(){
        alert('Sort By Date Click Event fired!');
    })
});
function sortBy(sel) {
    var id = sel.value;
    $("#" + id).trigger("click");
}

window.location変更を強制する

JavaScript/jQuery

function sortBy(sel) {
    var id = sel.value;
   window.location =  $("#" + id).attr('href');
}

注: JSFiddle に変更はありません。

Refused to display 'https://www.google.ca/' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'. 
于 2013-06-27T12:40:06.777 に答える