psics

psics
Рейтинг
130
Регистрация
02.04.2009
burunduk:
psics, где-то есть ошибки, сложно сказать где именно т.к. там все ошибки на chrome, и кстати какая у вас версия jQuery

* jQuery JavaScript Library v1.4.2 старенькая)

Но тут работает одна фишка, которая не работает в последней)))

.live("change"

burunduk:
psics, запустите консоль ошибок в мозиле что он пишет?

http://s018.radikal.ru/i504/1303/7f/de3f019abc9a.jpg

burunduk:

psics, я на самом деле не заморачиваюсь особенно с установкой и удалением обработчиков событий, а использую плагин livequery для управлением ими, мне с ним проще :)

я еще не дорос)))

burunduk:
psics, там кстати есть ещё одна проблемка, а именно когда вы добавляете в dom

а потом обработать событие на ранее не существовавшем элементе, могут возникать проблемы, вы же не назначили для него обработчик событий при добавлении

В данный момент обрабатываю работоспособность обработка есть в одном только месте

или возможно я вас не понял.

//при изменении комплектации 

$('#kom').change(function(){
var vKom = $('#kom option:selected').val();
if(vKom == 0){
$('#result').text('Выберите комплектацию');
} else if(vKom == 1){
$('#submit').unbind('click');
$('#submit').click(function(){

$.ajax({
type: "POST",
url: "mysql.php",
data: "knum=8&mnum=1&modnum=1",
success: function(msg){
$('#result').html('');
$('#result').append(msg);

}
});

});
}
burunduk:
psics, у вас там с логикой проблема и почему, при vKom == 1

$('#result').html('');
$('#result').append(msg);
а в остальных
$('#result').html('');
$('#result').html(msg);

то просто вариант вставки - не влияет

может проще
$('#result').html(msg);
очистка $('#result').html(''); лишняя

не лишняя так как при повтором нажатии на сабмит выводит в соответствии с количиством нажатий - количество выводов одного и тогоже. Надеюсь понятно написал))

---------- Добавлено 09.03.2013 в 13:18 ----------

о все получилось..

$('#submit').unbind('click');

помогло просто не туда вставлял...

Всем спасибо..

И еще один вопрос

при выводе этого запроса в опере и хроме, отображается нормально, а при выводе в мозиле проблема с кодировкой.

Как тут можно исправить?

http://i049.radikal.ru/1303/31/d22f00fe23ef.jpg

ivan-lev:
Отработает внутри функции, только если выше по коду (до if(vKom) есть var vKom)

var vKom = $('#kom option:selected').val();

А вообще, Chukcha, прав..

ivan-lev:

psics, после установки vKom нужно unbind-ить старые (
$('.submit').unbind('click');
).. и "прибиндить" (это делается) новые..

и это не помогло...

p.s. хотя, вообще-то более правильно формировать строку

                                       data: "knum=8&mnum=1&modnum=1", 

в зависимости от текущего значения vKom

я просто начинающий - поэтому мне это сложно и формировал вручную...

Фома:
1. Упс, а как? Как нажать на title? Или вы имеете ввиду найти ancor в тексте сайта и там нажать, но что это даст?
2. Уже пробую.
3. Я вот и думал, кто нибудь подскажет искомый файлик.

1. Попробуйте нажать по слову "ancor" правой кнопкой и проинспектировать элемент. Найти какой нибудь близлежащий id.http://s020.radikal.ru/i712/1303/09/3c9a20095c6a.jpg http://s47.radikal.ru/i116/1303/b0/aa2729bb109d.jpg

2. При помощи totalcommander зайти в папку с cms и нажать alt f7 в вкладке общие параметры, в поле с текстом вставить id.

там выдаст тоталкоммандер путь к файлу. http://s020.radikal.ru/i715/1303/bd/d519e7f5bdd9.jpg

Вот скрины в данном случаее лучше выбрать класс

burunduk:


или давайте полный код, откуда вообще берётся значение vKom

//Проверка сменилась ли форма #marka 

$("#marka").change(function(){
var vMarka = $('#marka option:selected').val();

if (vMarka == 0){
//добавить код дизайблед для следующего селекта
$('#result').html('Ничего не выбрано');
$('#kom').hide();
} else if(vMarka == 1){//если выбрано марку с id=1
$('#model').removeAttr('disabled');
$('#model').html('<option value="0">Выберите модель</option><option value="1">C-Elysee</option>');
//добавить код выбора моделей
$('#kom').hide;
//если выбрано модель
$('#model').change(function(){
var vModel = $('#model option:selected').val();
if(vModel == 0) {
$('#result').html('Ничего не выбрано');
} else if (vModel == 1){
//добавить код выбора комплектации
$('#forKom').html('<select id="kom" style="width:200px;"><option value="0">Выберите комплектацию</option><option value="1">Attraction</option><option value="2">Trandance</option><option value="3">Exclusive</option></select>');

//при изменении комплектации
$('#kom').change(function(){
var vKom = $('#kom option:selected').val();
if(vKom == 0){
$('#result').text('Выберите комплектацию');
} else if(vKom == 1){

$('#submit').click(function(){

$.ajax({
type: "POST",
url: "mysql.php",
data: "knum=8&mnum=1&modnum=1",
success: function(msg){
$('#result').html('');
$('#result').append(msg);

}
});
vKom=99999
});
} else if(vKom == 2){
// обработки и вытяжки из бд.

$('#submit').click(function(){
$.ajax({
type: "POST",
url: "mysql.php",
data: "knum=2&mnum=1&modnum=1",
success: function(msg){
$('#result').html('');
$('#result').html(msg);

}
});
vKom=99999
});
} else if(vKom == 3){

$('#submit').click(function(){
$.ajax({
type: "POST",
url: "mysql.php",
data: "knum=9&mnum=1&modnum=1",
success: function(msg){
$('#result').html('');
$('#result').html(msg);

}
});
vKom=99999
});
} else {
$('#result').text('Error 2');
}
});



} else {
$('#result').html('Error');
}
});

} else if (vMarka == 2) {//если выбрано марку с id=2
$('#model').removeAttr('disabled');
//добавить код выбора моделей
$('#model').html('<option value="0">Выберите модель</option><option value="1">Accent</option>');

$('#kom').hide();
//если выбрано модель
$('#model').change(function(){
var vModel = $('#model option:selected').val();
if(vModel == 0) {
$('#result').html('Ничего не выбрано');
} else if (vModel == 1){
//добавить код выбора комплектации

$('#forKom').html('<select id="kom" style="width:200px;"><option value="0">Выберите комплектацию</option><option value="1">Classic</option><option value="2">Comfort</option><option value="3">Family</option><option value="4">Style</option><option value="5">Style CP</option></select>');





} else {
$('#result').html('Error');
}
});




} else if (vMarka == 3) {//если выбрано марку с id=3
$('#model').removeAttr('disabled');
//добавить код выбора моделей
$('#model').html('<option value="0">Выберите модель</option><option value="1">Rio</option>');

$('#kom').hide();
//если выбрано модель
$('#model').change(function(){
var vModel = $('#model option:selected').val();
if(vModel == 0) {
$('#result').html('Ничего не выбрано');
} else if (vModel == 1){
//добавить код выбора комплектации

$('#forKom').html('<select id="kom" style="width:200px;"><option value="0">Выберите комплектацию</option><option value="1">Base</option><option value="2">Mid</option><option value="3">Mid plus</option><option value="4">Top</option></select>');


} else {
$('#result').html('Error');
}
});



} else {
$('#result').html('Не понятно');
}




});//конец проверки сменилась ли форма #marka


---------- Добавлено 09.03.2013 в 12:56 ----------

Chukcha:
А!!! ха-ха-ха



click накапливается..
надо его отбиндить, а пото прибиндить

Как это выполнить?

Фома:
При выведении результатов поиска на страничке: site.ru/xfsearch/ancor/, в title выводится "ancor". Как вывести "допслово+ancor"? Слово будет всегда одно и на кирилице.

1. Попробуйте нажать по слову "ancor" правой кнопкой и проинспектировать элемент. Найти какой нибудь близлежащий id.

2. При помощи totalcommander зайти в папку с cms и нажать alt f7 в вкладке общие параметры, в поле с текстом вставить id.

3. Найти этот файл и в нем добавить нужное вам слово в нужное вам место.

burunduk:
сразу после обработки if(vKom==
установите vKom например в vKom=99999

Этот вариант не помог.

Chukcha:
попробуйте
url: "mysql.php?vKom="+vkom,

сможете избавиться от серверного кеширивания, если оно там есть

Тогда нужно переделать и php файл

http://s017.radikal.ru/i430/1303/c3/de7a3f77c9f3.png

Всего: 619