-1

5つの異なるオプションを含むSelect入力をアクティブに生成するPHPコードがあります。

ここで、divの2、3、4、5の数字もテキストとして表示したいと思います。

DIVの最初のオプションを省略したいことに注意してください。

<select>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>

また、それに応じて表示されます:

<div><img src="#" /> 2</div>
<div><img src="#" /> 3</div>
<div><img src="#" /> 4</div>
<div><img src="#" /> 5</div>

document.forms[0].select.valueでこれを試してみました。ただし、選択した値のみが表示され、すべてのオプションは表示されません。さらに、最初のオプションをフィルタリングしたいので、どうすればよいですか?どんな助けでも大歓迎です。


select回答へのコメントでOPによって提供される要素の実際のHTML :

<select class="last" id="property_types" name="property_types">
    <option selected="selected" value="0">View all Property Types</option>
    <option value="96" class="level-0">Apartment</option>
    <option value="9" class="level-0">Building</option>
    <option value="3" class="level-0">Land</option>
    <option value="97" class="level-0">Office</option>
</select>
4

1 に答える 1

3

私は提案します:

$('option').slice(1).each(
    function(){
        var text = $(this).text(),
            outputTo = $('#output'),
            div = $('<div />').text(text),
            img = $('<img />', {'src' : '#'}).prependTo(div);
        div.appendTo(outputTo);
    });​

JSフィドルデモ

これは、このアプローチの出力を含めるために特定のものが使用されていることを前提としていることに注意してくださいdiv。明らかに好みに合わせて調整してください。

上記のコードは、この回答へのコメントにあるOPの投稿コードに応じて、特定のセレクターを提供するように修正されました。

$('#property_types option').slice(1).each(
    function(){
        var text = $(this).text(),
            outputTo = $('#output'),
            div = $('<div />').text(text),
            img = $('<img />', {'src' : '#'}).prependTo(div);
        div.appendTo(outputTo);
    });​

参照:

于 2012-08-16T11:37:21.563 に答える