尝试从下拉列表中获取值以在找到值时触发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>
答案 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();
}