The problem is due to the surrounding <$tiddler tiddler="Dictionary Tiddler">... </$tiddler>
widget.
Because of this, the reference to {!!searchText}
is looking in “Dictionary Tiddler” for the field contents.
One way around this is to remove the $tiddler
widget and hard-code the “Dictionary Tiddler” title, like this:
<$list filter="[[Dictionary Tiddler]indexes[]search:title:literal{!!searchText}sort[]]" variable=item>
<$checkbox tiddler="Dictionary Tiddler" index=<<item>> checked="1" unchecked="0"/>
<<item>><br/>
</$list>
This allows the {!!searchText}
reference to point to a field in the tiddler containing the <$list>
widget, rather than the “Dictionary Tiddler” itself.
However… if the intention is to eventually enable lookups using different Dictionary Tiddlers, then the following code may be more useful:
<$edit-text field="searchText"/>
<$select field="dictionary">
<option>Dictionary Tiddler</option>
<option>Another Dictionary</option>
<option>Some Other Dictionary</option>
<option>etc...</option>
</$select>
<br>
<$let searchText={{!!searchText}}>
<$tiddler tiddler={{!!dictionary}}>
<$list filter="[all[current]indexes[]search:title:literal<searchText>sort[]]" variable=item>
<$checkbox index=<<item>> checked="1" unchecked="0"/>
<<item>><br/>
</$list>
</$tiddler>
</$let>
Basically, this sets a variable to the value of the searchText field before using $tiddler
to change the current tiddler,
and then uses the value of that variable in the filter syntax. It also lets you select a dictionary tiddler title from a
droplist input, and then uses that title in the $tiddler
widget, so that the lookup points to another dictionary while
still using the searchText input from the current tiddler.
enjoy,
-e