数据:
JACKSON, MS 39212|39212
BAINVILLE, MT 59212|59212
CROOKSTON, NE 69212|69212
COLUMBIA, SC 29212|29212
SPOKANE, WA 99212|99212
代码:
<form method="GET" target="_blank">
<fieldset><legend>remote example</legend>
<label for="myRemoteInput">Enter a state:</label>
<div id="myRemoteAutoComplete">
<input id="myRemoteInput" name="myRemoteInput" type="text">
<div id="myRemoteContainer"></div>
</div>
</fieldset>
<input type="submit" />
</form>
<script type="text/javascript">
YAHOO.example.BasicRemote = function() {
var oRDS = new YAHOO.util.XHRDataSource("data.php");
oRDS.responseType = YAHOO.util.XHRDataSource.TYPE_TEXT;
oRDS.responseSchema = {
recordDelim: "\n",
fieldDelim: "|"
};
oRDS.maxCacheEntries = 5;
var oRAC = new YAHOO.widget.AutoComplete("myRemoteInput"
, "myRemoteContainer"
, oRDS
, {minQueryLength: 2,maxResultsDisplayed: 25, forceSelection: true});
return {
oRDS: oRDS,
oRAC: oRAC
};
}();
</script>
方案: 我想显示带有City,ST zip值的自动完成小部件,但是,表单字段myRemoteInput总是填充所选的City,ST zip值。
问题: 当用户从自动完成下拉列表中选择City,ST zip值时,如何使用zipcode填充表单字段myRemoteInput值?
答案 0 :(得分:1)
自定义事件itemSelectEvent可能就是您要查找的内容。我自己从未使用它,但它可能类似于
oRAC.itemSelectEvent.subscribe(onItemSelect);
function onItemSelect(oSelf , elItem , oData) {
var locationData = oData[0];
// Now parse location data and put only the ZIP code back into oData[0]
}
从How do I change YUI Autocomplete textfield Value population Options?得到了这个并稍微调整了一下。我不知道这是否有效,但它可能会让你开始。
我想你知道API,但以防万一:http://developer.yahoo.com/yui/docs/YAHOO.widget.AutoComplete.html。
HTH
汤姆