我有多个自动填充文本框与多个隐藏字段配对。我怎么做?防爆。 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" />
先生/女士,您的回答将会非常有用,非常感谢。
答案 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属性!希望这有帮助!