How to specify a Rules condition related to select list values? I'm now thoroughly confused about trying to set a Rules Condition on a select list. There are two things I want to do:

(a) On a new node of my content type I want to trigger when a certain checkbox in the select list is checked

(b) When a node of the same content type is edited I want to trigger when the state of the checkbox has changed.

For (a) I start out with a Data Comparison and put the name of the select list (node:field-pbxq-stock-status) in Data Selector. On the next page I choose "Is one of" for the Operator and then my list of Data Values disappears, so I cannot select the one I want. It won't allow "node:field-pbxq-stock-status:In stock" or "node:field-pbxq-stock-status:3" (3 is it's index) in that Data Value/Data Selector field.

Update:

These are two more comparisons I've tried.

Both are: After saving new content of type PBX Quote

Text Comparison

Data selector: node:field-pbxq-stock-status:3

Matching text: In stock

Value: contains

List contains item

Selected list: node:field-pbxq-stock-status

Data selector: node:field-pbxq-stock-status:3

In both of those cases I'm using the '3' because
I -think- thats suppose to be the list offset?
I'd much rather compare without dependency on 
offset, eg:

Some type of comparison

Selected list: node:field-pbxq-stock-status

Matching text: In stock

Value: contains
Below is a sample of a rule (in Rules export format) that should allow you to specify a Rules condition relation to a specific value selected via a selection list (and when a new node is created):

{ "rules_new_node_with_special_optionlist_value" : {
    "LABEL" : "New node with special optionlist value",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules" ],
    "ON" : { "node_insert" : [] },
    "IF" : [
      { "entity_has_field" : { "entity" : [ "node" ], "field" : "field_optionlist" } },
      { "data_is" : { "data" : [ "node:field-optionlist" ], "value" : "C" } }
    ],
    "DO" : [
      { "drupal_message" : { "message" : "A new node got created with option list value = Custom" } }
    ]
  }
}


Some more details to further explain the above above sample:


The Rules event I'm using is "After saving new content".
In my case I have a selection list field with machine name field_optionlist.
This field actually has 3 possible values, like so:


A (=Advanced).
B (=Basic).
C (=Custom).

As a sample, I decided to use as condition "The selected value must be Custom".
If that value is selected, then (as Rules action), a message is shown like A new node got created with option list value = Custom (feel free to change that to whatever Rules action, this is how I often "unit test" new rules I write).


The "clue" to make this rule work is the condition Entity has field. That's also what is mentioned in the Rules UI when you're adding a "data comparison" condition: somewhere it says "The data selector helps you drill down into the data available to Rules. To make entity fields appear in the data selector, you may have to use the condition 'entity has field' (or 'content is of type')". I wouldn't be surprised if that is what you are missing in the rules conditions you tried so far ...

Note that I've not added a Rules condition here about selected content types, that's probably an extra condition you might want to add also. But if the selection list field is only used for the content types you're interested in, then the Entity has field condition should be sufficient already.

For a video tutorial that illustrates the importance of this Entity has field
condition, refer to Data types and data selection, especially what is shown between about 13:30 and 17:30 in that video.