0

検索セクションにドロップダウン メニューがあります。ドロップダウン メニューから何かを選択すると、検索フィールドが変化します。ドロップダウンメニューをラジオボタンに変換したい。ドロップダウン メニューのコードは次のとおりです。

    <select id="qs_category" name="qs_category" onchange="onQuickSearch(this.form, '{$live_site}'); {if $multi_depending}reloadDep('{$multi_depending}', '{$live_site}');{/if}">
            <option value="">{$lng.search.all_categories}</option>
            {foreach from=$categories item=v name=cat}
            <option value="{$v.id}"{if $v.parent} class="opt_parent"{/if}{* {if $cat==$v.id && $self_noext=="listings"}selected="selected"{/if}*}>{$v.str}{$v.name|escape:"html"}</option>
            {/foreach}
    </select>

誰かがこれをラジオボタンに変換するのを手伝ってくれますか?

4

1 に答える 1

1

これをラジオボタンに変換するには、次を使用できます<input type="radio"...

<label>
    <input name="qs_category" type="radio" value=""
           onclick="onQuickSearch(this.form, '{$live_site}'); {if $multi_depending}reloadDep('{$multi_depending}', '{$live_site}');{/if}">{$lng.search.all_categories}
</label><br>
{foreach from=$categories item=v name=cat}
<label>
    <input name="qs_category" type="radio" value="{$v.id}"{if $v.parent} class="opt_parent"{/if}{* {if $cat==$v.id && $self_noext=="listings"}checked="checked"{/if}*}
           onclick="onQuickSearch(this.form, '{$live_site}'); {if $multi_depending}reloadDep('{$multi_depending}', '{$live_site}');{/if}">{$v.str}{$v.name|escape:"html"}
</label><br>
{/foreach}

複製onclickはあまりエレガントではありませんが、これは理解するための最も簡単な方法です。

コードの見栄えを良くするために、onclickイベントを Javascript にバインドできます。jQueryを使用している場合は、

$('input[name=qs_category]').click(function() {
    onQuickSearch($(this).parent(), '{$live_site}');
    {if $multi_depending}
        reloadDep('{$multi_depending}', '{$live_site}');
    {/if}
});
于 2013-01-29T16:00:53.347 に答える