jquery 获取按钮值和具有该值的 select 选项 (Smarty)

jquery get button value and select option with this value (Smarty)

我的 tpl 文件中有这段代码:

<select id="id_order_state" class="form-control" name="id_order_state">
      {foreach from=$states item=state}
        <option value="{$state['id_order_state']|intval}"{if isset($currentState) && $state['id_order_state'] == $currentState->id} selected="selected" disabled="disabled"{/if}>{$state['name']|escape}</option>
      {/foreach}
</select>

我也有这个代码:

{foreach from=$states item=state}
      <p value="{$state['id_order_state']|intval}" class="btn btn-default">{$state['name']|escape}</p>
{/foreach}

我想做的是当我点击一个特定的 p 项时,select 框下的选项会自动获取被点击的 p 项的值并被 selected select 框的选项。一般来说,我试图将 select 选项更改为可点击的按钮,我想通过 jquery 使它变得棘手。我该怎么做?

您可以在 body:

结束前添加此脚本
<script>
    $('p.btn').click(function () {
        $('#id_order_state').val($(this).attr('value'));
    });
</script>

根据您是否对其他段落使用 btn css class,selector 可能需要更精确.

但它检测到段落上的点击,获取 value 属性并将其分配给 select 控件。

我不确定您为什么在 selected 选项上使用 disabled 属性。当 select 列表的值更改时,您可能还想更改该属性。