Javascript 对多个组合框使用相同的ID?
我需要为jquery自动完成组合框分配一个ID,但我在页面中有多个jquery自动完成组合框 我正在使用这一行Javascript 对多个组合框使用相同的ID?,javascript,jquery,json,node.js,Javascript,Jquery,Json,Node.js,我需要为jquery自动完成组合框分配一个ID,但我在页面中有多个jquery自动完成组合框 我正在使用这一行input.attr(“id”,“anyThng”)将ID分配给jquery自动完成组合框 参考代码: (function($) { $.widget("ui.combobox", { _create: function() { var input, self = this, select = this.element.hide(), s
input.attr(“id”,“anyThng”)代码>将ID分配给jquery自动完成组合框
参考代码:
(function($) {
$.widget("ui.combobox", {
_create: function() {
var input, self = this, select = this.element.hide(), selected = select.children(":selected"), value = selected.val() ? selected.text() : "", wrapper = this.wrapper = $("<span>").addClass("ui-combobox").insertAfter(select);
input = $("<input>")
// .id("something")
.appendTo(wrapper)
.val(value)
.addClass("ui-state-default ui-combobox-input")
.autocomplete({
delay: 0,
minLength: 0,
source: function(request, response) {
var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
response(select.children("option").map(function() {
var text = $(this).text();
if (this.value && (!request.term || matcher.test(text)))
// alert(text);
return {
label: text.replace(
new RegExp(
"(?![^&;]+;)(?!<[^<>]*)(" +
$.ui.autocomplete.escapeRegex(request.term) +
")(?![^<>]*>)(?![^&;]+;)", "gi"
), "<strong>$1</strong>"),
value: text,
option: this
};
}));
// alert(input.val());
// alert(input.attr('id'));
// input.attr("id", this.id);
// alert(input.attr('id'));
},
select: function(event, ui) {
ui.item.option.selected = true;
self._trigger("selected", event, {
item: ui.item.option
});
},
change: function(event, ui) {
//alert(input[0].id);
// alert($(event.target)[0].id);
// alert($(this).attr('id'));
// alert($("#something").attr('id'));
// alert(event.target.id);
// alert($(".ui-state-default ui-combobox-input ui-autocomplete-input").attr("id"));
if (!ui.item) {
xT = $(this).val();
var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex($(this).val()) + "$", "i"),
valid = false;
select.children("option").each(function() {
if ($(this).text().match(matcher)) {
this.selected = valid = true;
return false;
}
});
if (!valid) {
xT = $(this).val();
if (countryID == '' || countryID == undefined) {
$(".selPnext").hide();
$("#Tr3").hide();
}
else {
// Checking saudi Province
$("#status").val("21");
if (countryID == 1500000090) {
if (comissionarY == '' || comissionarY == undefined) {
//comissionary
if (ProcvID == '' || ProcvID == undefined) {
$(".selPnext").hide();
$("#Tr3").hide();
}
else {
$(".selPnext").show();
$("#Tr3").show();
$("#Td3").html("Comissionary Status (20/21)");
$("#status").val("21");
}
}
else {
//center
if (ProcvID == '' || ProcvID == undefined) {
$(".selPnext").hide();
$("#Tr3").hide();
}
else {
$(".selPnext").show();
if (countryID == 1500000090) {
$("#Td3").html("Center Status (22/23)");
$("#status").val("22");
$("#Tr3").show();
}
else {
$("#Tr3").hide();
}
}
}
}
else {
if (countryID != 1500000090) {
$(".selPnext").show();
$("#Tr3").show();
}
//$("#Div1").css({ width: "400px" });
}
}
// remove invalid value, as it didn't match anything
// $(this).val("");
// select.val("");
// input.data("autocomplete").term = "";
return false;
}
}
}
})
//.addClass("ui-widget ui-widget-content ui-corner-left");
input.data("autocomplete")._renderItem = function(ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item.label + "</a>")
.appendTo(ul);
};
$("<a>")
.attr("tabIndex", -1)
.attr("title", "Show All Items")
.appendTo(wrapper)
.button({
icons: {
primary: "ui-icon-triangle-1-s"
},
text: false
})
.removeClass("ui-corner-all")
.addClass("ui-corner-right ui-combobox-toggle")
.click(function() {
// close if already visible
if (input.autocomplete("widget").is(":visible")) {
input.autocomplete("close");
return;
}
// work around a bug (likely same cause as #5265)
$(this).blur();
// pass empty string as value to search for, displaying all results
input.autocomplete("search", "");
input.focus();
});
},
destroy: function() {
this.wrapper.remove();
this.element.show();
$.Widget.prototype.destroy.call(this);
//added n cam b deleted
this.input.remove();
this.button.remove();
this.element.show();
$.Widget.prototype.destroy.call(this);
}
});
})(jQuery);
var xT;
function myVal() {
return xT;
}
$(function() {
//$("#tryy").combobox();
//$("#country").combobox();
});
(函数($){
$.widget(“ui.combobox”{
_创建:函数(){
变量输入,self=this,select=this.element.hide(),selected=select.children(“:selected”),value=selected.val()?selected.text():“”,wrapper=this.wrapper=$(“”)。addClass(“ui组合框”)。insertAfter(select);
输入=$(“”)
//.id(“某物”)
.appendTo(包装器)
.val(值)
.addClass(“ui状态默认ui组合框输入”)
.自动完成({
延迟:0,
最小长度:0,
来源:功能(请求、响应){
var matcher=newregexp($.ui.autocomplete.escapeRegex(request.term),“i”);
响应(select.children(“option”).map(函数(){
var text=$(this.text();
if(this.value&(!request.term | | matcher.test(text)))
//警报(文本);
返回{
标签:text.replace(
新正则表达式(
(?![^&;]+;)(?!)(?![^&;]+;),“gi”
)“$1”,
值:文本,
选项:这个
};
}));
//警报(input.val());
//警报(input.attr('id'));
//input.attr(“id”,this.id);
//警报(input.attr('id'));
},
选择:功能(事件、用户界面){
ui.item.option.selected=true;
自触发(“选定”,事件{
项目:ui.item.option
});
},
更改:功能(事件、用户界面){
//警报(输入[0].id);
//警报($(event.target)[0].id);
//警报($(this.attr('id'));
//警报($(“#某物”).attr('id');
//警报(event.target.id);
//警报($(“.ui状态默认ui组合框输入ui自动完成输入”).attr(“id”);
如果(!ui.item){
xT=$(this.val();
var matcher=new RegExp(“^”+$.ui.autocomplete.escapeRegex($(this.val())+“$”,“i”),
有效=错误;
select.children(“选项”).each(函数(){
if($(this).text().match(matcher)){
this.selected=valid=true;
返回false;
}
});
如果(!有效){
xT=$(this.val();
如果(countryID=''| countryID==未定义){
$(“.selPnext”).hide();
$(“#Tr3”).hide();
}
否则{
//检查沙特省
$(“状态”).val(“21”);
如果(countryID==1500000900){
如果(委员会专业==''| |委员会专业==未定义){
//委员会的
if(ProcvID=''| | ProcvID==未定义){
$(“.selPnext”).hide();
$(“#Tr3”).hide();
}
否则{
$(“.selPnext”).show();
$(“#Tr3”).show();
$(“#Td3”).html(“委员会地位(20/21)”;
$(“状态”).val(“21”);
}
}
否则{
//居中
if(ProcvID=''| | ProcvID==未定义){
$(“.selPnext”).hide();
$(“#Tr3”).hide();
}
否则{
$(“.selPnext”).show();
如果(countryID==1500000900){
$(“#Td3”).html(“中心状态(22/23)”;
美元(“#状态”).val(“22”);
$(“#Tr3”).show();
}
E