$conf, $runtime; function_exists('chdir') AND chdir(APP_PATH); $r = 'mysql' == $conf['cache']['type'] ? website_set('runtime', $runtime) : cache_set('runtime', $runtime); } function runtime_truncate() { global $conf; 'mysql' == $conf['cache']['type'] ? website_set('runtime', '') : cache_delete('runtime'); } register_shutdown_function('runtime_save'); ?>javascript - Syntax error, unrecognized expression: option[value=property name] - Stack Overflow|Programmer puzzle solving
最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

javascript - Syntax error, unrecognized expression: option[value=property name] - Stack Overflow

matteradmin12PV0评论

I have a datalist which looks like this

<datalist id="properties">
       <option value="property name"></option>
       <option value="property"></option>
</datalist>

Now I'm using this code to find where values entered by the user is in the list:

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
}

I am getting error in var pro = $('#properties').find("option[value="+user_property.replace(' ','-')+"]");

Error code says Syntax error, unrecognized expression: option[value=property name]

How to get rid of this error?

I have a datalist which looks like this

<datalist id="properties">
       <option value="property name"></option>
       <option value="property"></option>
</datalist>

Now I'm using this code to find where values entered by the user is in the list:

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
}

I am getting error in var pro = $('#properties').find("option[value="+user_property.replace(' ','-')+"]");

Error code says Syntax error, unrecognized expression: option[value=property name]

How to get rid of this error?

Share Improve this question edited Jan 28, 2015 at 17:53 k0pernikus 66.4k77 gold badges240 silver badges359 bronze badges asked Jan 28, 2015 at 17:28 runningmarkrunningmark 7604 gold badges13 silver badges33 bronze badges
Add a comment  | 

3 Answers 3

Reset to default 20

try adding quotes, as:

var pro = $('#properties').find("option[value='"+user_property.replace(' ','-')+"']");

or better break it down to:

var replaced = user_property.replace(' ','-');
var pro = $('#properties').find("option[value='"+replaced+"']");

if you want to check for text like "property name" then you could directly do:

var pro = $('#properties').find("option[value='"+user_property+"']");

Try adding quotes around the value and it will work.

$('#properties').find("option[value='property name']")

You need to add single quote for your value like

var pro = $('#properties').find("option[value='"+user_property.replace(' ','-')+"']");
Post a comment

comment list (0)

  1. No comments so far