4

ユーザーがリンクをクリックしたときに選択タグからオプション値を変更する方法を探しています。

たとえば、選択オプション html があります。

<select> <option value="0">Please Select</option> 
<option value="1">red</option> 
<option value="2">white</option> 
</select>

<a href="#" title="red" class="preview_link">red</a> <a href="#" title="white">white</a> ユーザーが赤をクリックすると、オプションが赤に切り替わり、白が白に切り替わります。次のコードを使用していますが、機能していません。

 jQuery("a.preview_link").click(function() {
    var title = jQuery(this).attr("title");
        jQuery(this).parent('p').children("select :selected").text(title);
 });

助言がありますか?

4

3 に答える 3

6

オプションのテキストを title 属性に設定します。試す:

 jQuery("a.preview_link").click(function() {
    var title = jQuery(this).attr("title");
    jQuery(this).parent('p').find("select option").filter(function() {
        return $(this).text() == title;
    }).attr('selected', 'selected');
 });

を参照してくださいfilter

于 2010-07-16T21:41:52.973 に答える
0

うーん、これは間違っています。選択したオプションのテキストを変更する代わりに、<option/>要素をループして適切なものを選択する必要があります。次のようになります。

$("select option").each(function() { 
    if($(this).text() == "red")) {
        this.selected = true; 
    }
});

編集:select()jQueryには機能があるかもしれません。その場合は、DOM プロパティでそれを使用します。

于 2010-07-16T21:42:08.790 に答える
0

これ?

$("select #some-option").attr("selected", "selected");

それともこれ?

$("select").val(index);
于 2010-07-16T21:45:25.817 に答える