获得下拉的价值

时间:2012-01-13 15:46:01

标签: jquery smarty

尝试从下拉列表中获取值以在找到值时触发console.log(' test'),但它无效。

        if ($("select[name=type_lvl] option:selected").val() == 'FOREIG') {
            console.log('test');
            $("tr#countries").show();
    }

当我检查它时,它看起来像这样。

<option label="Foreign" value="FOREIG">Foreign</option>

以下是代码中的下拉列表。

{html_options name="type_lvl" options=$category}

我已经尝试了外国人和外国人,他们都没有工作。

EDIT //

另一个问题..为什么我将代码设置为此

{html_options name="type_lvl" options=$category selected=""}

在DOM中,它不会选择我在浏览器上选择的内容。它只是保留在预加载时选择的原始选项。这是这里的主要问题。当我选择其他选项时,我在此标签上选择的参数不会切换。

从上面的{html_options}开始输出标记。

<select name="type_lvl">
<option label="Select your category" value="" selected="selected">Select your category</option>
<option label="Exhibition/Workshop/Clinic/Testing" value="EXHIBI">Exhibition/Workshop/Clinic/Testing</option>
<option label="Invitational Meet" value="INVITA">Invitational Meet</option>
<option label="Local Meet" value="LOCAL">Local Meet</option>
<option label="Regional Meet" value="REGION">Regional Meet</option>
<option label="Sectional" value="SECTION">Sectional</option>
<option label="State Meet" value="STATE">State Meet</option>
<option label="Foreign" value="FOREIG">Foreign</option>
<option label="NC" value="NCATA">NC</option>
<option label="No Charge" value="COMP">No Charge</option>
</select>

2 个答案:

答案 0 :(得分:1)

尝试从选择器中删除option:selected$(select).val()将返回所选值。

答案 1 :(得分:0)

管理好这个。

问题是我在想下每次选择一个选项时下拉列表中的selected =“”属性。那是不对的。它仅用于预加载选项。不选择。所以我修改了我的jquery。

    $("select[name=type_lvl]").change(function () {
        if ($(this).val() == 'FOREIG') {
            console.log('test');
            $("tr#countries").show();
        }
    });

现在它有效。选项选项属性不起作用,因为它适用于预加载选项。

使用此代码不起作用,因为.val也会侦听预加载的值。这是我感到困惑的地方。如果这是某种方式ou

if ($("select[name=type_lvl]").val() == 'FOREIG') {
        console.log('test');
        $("tr#countries").show();
}