Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 获取下拉列表的值_Jquery_Smarty - Fatal编程技术网

Jquery 获取下拉列表的值

Jquery 获取下拉列表的值,jquery,smarty,Jquery,Smarty,试图从下拉列表中获取一个值,在找到该值时触发console.log('test'),但它不起作用 if ($("select[name=type_lvl] option:selected").val() == 'FOREIG') { console.log('test'); $("tr#countries").show(); } 当我检查它时,它看起来像这样 <option label="Foreign" value

试图从下拉列表中获取一个值,在找到该值时触发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 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>

选择您的类别
展览/工作坊/诊所/测试
邀请赛
本地会议
区域会议
某群体的
国务会议
外国的
数控
免费

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

设法找到了这个值

问题是我认为下拉列表中的selected=”“属性是每次我选择一个选项时都会出现的。这是不正确的。仅用于预加载选项..不选择。所以我修改了jquery

    $("select[name=type_lvl]").change(function () {
        if ($(this).val() == 'FOREIG') {
            console.log('test');
            $("tr#countries").show();
        }
    });
现在它起作用了。“选项选定”属性将不起作用,因为它用于预加载的选项

使用此代码将不起作用,因为.val也侦听预加载的值。这就是我困惑的地方。如果这是你

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

如果($($select[name=type_lvl]).val()='FOREIG'){console.log('test');$($tr#countries”).show()}似乎不起作用。能否显示输出标记?另外,您使用的是哪个版本的jQuery?使用的是最新版本。输出在上面。设法弄清楚。$(select).val()令人困惑,因为它侦听的是初始值,而不是更改值时的初始值。
if ($("select[name=type_lvl]").val() == 'FOREIG') {
        console.log('test');
        $("tr#countries").show();
}