语法错误,无法识别的表达式:选项 [值 = 属性名称]
Syntax error, unrecognized expression: option[value=property name]
我有一个看起来像这样的数据列表
<datalist id="properties">
<option value="property name"></option>
<option value="property"></option>
</datalist>
现在,我使用此代码查找用户输入的值在列表中的位置:
var user_property = $('#user_property').val().toLowerCase(); // taken from input type with id user_property
var pro = $('#properties').find("option[value="+user_property.replace(' ','-')+"]");
if(pro != null && pro.length > 0)
{
// run some code
}
else
{
// show error popup
}
我在var pro = $('#properties').find("option[value="+user_property.replace(' ','-')+"]");
中遇到错误
错误代码显示Syntax error, unrecognized expression: option[value=property name]
如何摆脱这个错误?
尝试添加引号,如:
var pro = $('#properties').find("option[value='"+user_property.replace(' ','-')+"']");
或者最好将其分解为:
var replaced = user_property.replace(' ','-');
var pro = $('#properties').find("option[value='"+replaced+"']");
如果您想检查"属性名称"之类的文本,那么您可以直接执行以下操作:
var pro = $('#properties').find("option[value='"+user_property+"']");
尝试在值周围添加引号,它将起作用。
$('#properties').find("option[value='property name']")
您需要为您的值添加单引号,例如
var pro = $('#properties').find("option[value='"+user_property.replace(' ','-')+"']");
相关文章:
- 如何在选项卡上定义属性'的主窗口对象
- 如何从选择框中的选项中获取属性值
- 有条件地在选项标记中应用布尔属性
- 如何在CSS或Javascript中定位选定的属性(在HTML选项中)
- 如何为下拉列表的每个选项添加一个属性
- 使用jQuery向“选择选项”添加默认属性
- 使用jQuery在select选项上设置HTML数据属性
- 语义UI下拉选项数据属性
- 如何在 AngularJS 的 ng 选项中设置值属性
- jQuery - 根据属性在所选选项之后的下拉列表中获取下一个选项的总值
- 未捕获的类型错误:无法读取 null 的属性“选项” - 某些代码有效
- jQuery-根据属性在下拉列表中获取所选选项之后的下一个选项的值
- AngularJS ng选项与对象属性值&标题
- 如何仅在活动选项卡中获取选定选项的属性
- AngularJS select with ng选项不更新父作用域中的引用对象属性
- 如何查找所选HTML选项的所有数据属性
- 创建选项onClick属性
- 多个属性选项
- Episerver dojo setter页面编辑与所有属性选项卡
- CKEditor:有没有办法从上下文菜单中删除表单属性选项