==b-search.precise

===Описание
Чекбоксы под полем ввода, уточняющие поисковый запрос.

{{TOC}}

===XML-формат
%%(html)
<lego:b-search>
    ...
    <lego:input>
        <lego:precise/>
    </lego:input>
    ...
</lego:b-search>
%%
или для поисковой формы с двумя полями ввода:
%%(html)
<lego:b-search lego:type="double">
    ...
    <lego:input name="who">
        <lego:precise for="who"/>
    </lego:input>
    <lego:input name="where">
        <lego:precise for="where"/>
    </lego:input>
    ...
</lego:b-search>
%%
**Внимание**. Для каждого элемента ##lego:input## в xml'е нужен только один ##lego:precise##, даже если планируется вывести несколько чекбоксов.
Элемент ##lego:precise## означает лишь возможность того, что под соответствующим полем ввода могут быть (а могут и не быть) уточняющие чекбоксы.
Наличие же (или отсутствие) чекбоксов на самом деле зависит от переданных параметров в ##lego:params##.

((../../../../params.wiki Подробнее про lego:params))


===Связь ##lego:input## с ##lego:precise##
Если форма содержит два поля для ввода (##lego:type="double"##), то каждый из них должен иметь атрибут ##name##. В этом случае у ##lego:precise## используется атрибут ##for##, в котором указывается имя соответствующего ##lego:input##.

Если же поле для ввода одно, то ему можно не задавать ##name## и для чекбоксов тогда не нужно задавать ##for## -- все чекбоксы будут привязаны к этому единственному полю ввода.

===Передача конкретных данных о чекбоксах через lego:params
Элемент ##lego:precise## лишь указывает на то, что под полем ввода могут быть чекбоксы. Какие именно чекбоксов и с какими параметрами задается через ##lego:params##:
%%(html)
<xsl:template match="/" mode="lego:params">
    ...
    <lego:b-search>
        <lego:input>
            <lego:precise name="holdreq" value="текст запроса">в найденном</lego:precise>
            <lego:precise name="rstr" value="-213">в Москве</lego:precise>
        </lego:input>
    </lego:b-search>
    ...
</xsl:template>
%%
или
%%(html)
<xsl:template match="/" mode="lego:params">
    ...
    <lego:b-search lego:type="double">
        <lego:input name="who">
            <lego:precise name="holdreq" value="текст запроса">в найденном</lego:precise>
        </lego:input>
        <lego:input name="where">
            <lego:precise name="rstr" value="-213">в Москве</lego:precise>
        </lego:input>
    </lego:b-search>
    ...
</xsl:template>
%%

Помимо атрибутов ##name## и ##value##, чекбоксам можно задать ##id##, ##class##, ##onclick##, ##disabled## и ##checked##:
%%(html)
<xsl:template match="/" mode="lego:params">
    ...
    <lego:b-search>
        <lego:input>
            <lego:precise id="my-id" class="my-class" name="rstr" value="-213" onclick="alert('Hello')" disabled="disabled" checked="checked">в Москве</lego:precise>
        </lego:input>
    </lego:b-search>
</xsl:template>
%%
Если атрибут ##id## явно не задан, он будет сгенерен автоматически через ##generate-id()##.

