Unpublish node based on field option
You could also hook on hook_node_presave() and check here the value of the field... No ?

mymodule_node_presave($node) {
if($node-&gt;yourfield[.....]['value'] == 'London') {
$node-&gt;state = '0';
}
}