如何在jquery ui中为多个自动完成文本框和隐藏字段分配值?

时间:2012-02-07 12:24:00

标签: php jquery jquery-ui

我有多个自动填充文本框与多个隐藏字段配对。我怎么做?防爆。 textbox1:name = hiddenfield1:Id,textbox2:name = hiddenfield2:Id。 我已经能够进行1-autocomplete和1-hiddenfield工作。

以下是我的脚本的代码:

<script type="text/javascript">
    $(document).ready(function() {
        $('.auto').autocomplete({
            source: "search.php", 
            focus: function(event, ui) {
                $(idField).val(ui.item.value);
                $(this).val(ui.item.label);
                return false;
            },
            select: function(event, ui) {
                $(this).val(ui.item.label);
                $("#hidden").val(ui.item.value);
                return false;
            }
            //minLength: 3
        });
    });
</script>

<p>Type the name of a band: <input type="text" class="auto" /></p>
<p>Type the name of a band: <input type="text" class="auto" /></p>

<input name="hidden" id="hidden" type="hidden" />
<input name="hidden" id="hidden" type="hidden" />

先生/女士,您的回答将会非常有用,非常感谢。

1 个答案:

答案 0 :(得分:1)

首先,您需要隐藏或不隐藏所有输入字段的唯一标识符。然后为它们分配值会容易得多。你真的很亲密,我只会改变一些事情来使它工作,主要是与你正在使用的元素的ID有关:

<script type="text/javascript">
    $(document).ready(function() {
        $('.auto').autocomplete({
            source: "search.php", 

            ...

            select: function(event, ui) {

                // figure out which auto we're using and get it's
                // associated hidden field...
                var element_id = $(this).attr('id');
                var hidden_element_id = element_id + "_hidden";

                // set the appropriate fields' values...
                $(this).val(ui.item.label);
                $("#"+hidden_element_id).val(ui.item.value);

                return false;
            }

            ...

        });
    });

</script>

<p>Type the name of a band: <input type="text" class="auto" id="auto1" /></p>
<p>Type the name of a band: <input type="text" class="auto" id="auto2" /></p>

<input name="hidden" id="auto1_hidden" type="hidden" />
<input name="hidden" id="auto2_hidden" type="hidden" />

将隐藏字段与可见对应关联的更简单方法之一...您获取当前正在自动填充的元素的ID,然后通过在其ID属性上附加'_hidden'来获取其隐藏字段对应项... make感?

不要忘记更改字段的ID属性!希望这有帮助!