0

4 つのリンクを含むページがあり、各リンクは以下のようになります。

 <a href="contact.jsp?subject=one">Link1</a>
 <a href="contact.jsp?subject=two">Link2</a>
 <a href="contact.jsp?subject=three">Link3</a>
 <a href="contact.jsp?subject=Four">Link4</a>

contact.jsp は、テキスト ボックスと 4 つのオプションを持つ単なるフォームです。ユーザーが上記のリンクをクリックすると、HREF リンクで渡されたクエリ パラメータ (件名) に沿って実際の件名オプションが選択された連絡先フォームが表示されます。

Jqueryでできますか?

4

2 に答える 2

1

selected選択されたオプションは、HTML<option>要素の属性の存在によって識別されます。

それに応じて、JSPに目的のHTMLを生成させます。

<select name="subject">
    <option value="one" ${param.subject == 'one' ? 'selected' : ''}>one</option>
    <option value="two" ${param.subject == 'two' ? 'selected' : ''}>two</option>
    <option value="three" ${param.subject == 'three' ? 'selected' : ''}>three</option>
    <option value="four" ${param.subject == 'four' ? 'selected' : ''}>four</option>
</select>

奇妙なJS/jQueryの回避策は必要ありません。とにかくプログレッシブエンハンスメントを目的としています。つまり、Webアプリは、JSが無効になっていてもコア機能を保持するように設計/開発する必要があります。

于 2013-01-30T16:10:46.570 に答える
0

URLに件名がリストされている限り、次のように取得できます。

$(document).ready(function(){
    function getURLParameter(name) {
        return decodeURI(
            (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
        );
    }
    $('#mySelect').val(getURLParameter('subject'));
});

次に、選択ボックスオプションの値が、「1、2、3」および「4」の可能性に対応していることを確認します。

以下のコメントに応えて、値を確認し、ファイルのアップロード入力を表示したい場合、コードは次のようになります。

$(document).ready(function(){
    function getURLParameter(name) {
        return decodeURI(
            (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
        );
    }
    $('#mySelect').val(getURLParameter('subject'));
    if($('#mySelect').val() == 'three'){
        $('#myFileUpload').show();
    }
});
于 2013-01-30T16:11:09.947 に答える