Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Помогите разобраться с созданием объектов!


Автор: frei 17.2.2006, 18:22
Помогите разобраться с созданием объектов!

M
12345c
Оформите, пожалуйста, код Вашего сообщения с выделением кнопкой "Код" - такое читать трудно и мало кто возьмётся.

Вот кусок HTML
<div class="cityContent" style="width:200px;">
<input autocomplete="off" id="fromCity" size="30" value="" type="text" class="wrongCity">
<div style="position: relative; left: 0px; top: 0px; display:none; width:100%;" class="auto_complete" id="fromCityList"></div>
<script>Init('fromCity','fromCityList','xml_php/search_town.php');</script>
</div>
<div class="cityContent" style="width:200px;">
<input autocomplete="off" id="toCity" size="30" value="" type="text" class="wrongCity">
<div style="position: relative; left: 0px; top: 0px; display:none; width:100%;" class="auto_complete" id="toCityList"></div>
<script>Init('toCity','toCityList','xml_php/search_town.php');</script>
</div>


где, так сказать, для каждого input я создаю объект класса findCity ....т.е. объектов может быть сколько угодно, я их заношу в массив city,
и в этом классе для каждого input я определяю обработчики на события "нажата клавиша" и "клик мышкой".
Т.о. для каждого объекта у меня определяется ряд свойств, которые должны использоваться в обработчиках.
как мне узнать ссылку на объект findCity(т.е. city[n?]) для того input , на который я кликнула или нажала клавишу??

var city = new Array();
var current_city;

function Init(edit_id, div_id, xmlfile){
city[city.length] = new findCity (edit_id, div_id, xmlfile);
}


/*мой класс*/
findCity = function (edit_id, div_id, xmlfile) {
this.pEdit_id=main.findObj(edit_id); //нахожу объект с Id=edit_id
this.pDiv_id=main.findObj(div_id);
this.pXmlfile=xmlfile;
this.pHiddenEdit_id=main.findObj("hidden"+edit_id);
this.selectedLi=null;
this.trueCity='';
//определяю обработчики событий для объектов
main.addEvent(this.pEdit_id, "keyup", this.viewCity);//pEdit_id
main.addEvent(this.pEdit_id, "click", this.showList);//pEdit_id
main.addEvent(this.pDiv_id, "keyup", this.nextLi);//pDiv_id
}

findCity.prototype.viewCity = function(ev) {
var el = main.getElement(ev); //нахожу объект, для которого определено событие

Как получить ссылку на текущий объект?
current_city = city[?????????]
alert(current_city.pEdit_id); ?????????
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)