Выбор аватарки, не кнопкой, а нажатием на желаемую аватарку

Статус
Закрыто для дальнейших ответов.

Царя

Well-Known Member
Регистрация
27.01.2012
Сообщения
55
Имею вот такое дело:

Т.е. пользователь здесь нажимает на круг и тем самым выбирает аватарку, как бы сделать так, чтобы он нажимал не на круг, а на аватарку? Т.е. она стала чем-то типо кнопки к которой можно будет применить стили...
 

CamaroSS

Well-Known Member
Регистрация
21.02.2012
Сообщения
176
Завернуть изображение в лейбл, например так:
Код:
<input type="radio" id="av1" name="av" value="1"><label for="av1"><img src="..."></label>
Либо, если IE <= 7 не интересуют, то
Код:
<label><input type="radio" name="av" value="1"><img src="..."></label>
После этого инпут можно скрыть, но только не display: none.
 

Царя

Well-Known Member
Регистрация
27.01.2012
Сообщения
55
Завернуть изображение в лейбл, например так:
Код:
<input type="radio" id="av1" name="av" value="1"><label for="av1"><img src="..."></label>
Либо, если IE <= 7 не интересуют, то
Код:
<label><input type="radio" name="av" value="1"><img src="..."></label>
После этого инпут можно скрыть, но только не display: none.
Спасибо, приду с зала буду пробовать :)

Завернуть изображение в лейбл, например так:
Код:
<input type="radio" id="av1" name="av" value="1"><label for="av1"><img src="..."></label>
Либо, если IE <= 7 не интересуют, то
Код:
<label><input type="radio" name="av" value="1"><img src="..."></label>
После этого инпут можно скрыть, но только не display: none.
Не удержался, до зала попробовал :3
Все пока идет хорошо, только как можно инпут спрятать? Наиболее правильный метод можешь подсказать?
 

mrlasking

$_GET['rich'] or die('trying');
Регистрация
22.05.2012
Сообщения
323
Делаете список ul + присваиваете id аватарам + onclick событие (как вариант .click(), если подключена библиотека jQuery). И не извращайтесь с инпутами и лейблами.
 

CamaroSS

Well-Known Member
Регистрация
21.02.2012
Сообщения
176
Все пока идет хорошо, только как можно инпут спрятать? Наиболее правильный метод можешь подсказать?
Насчёт "правильности" не знаю, но
Код:
.<класс контейнера> input {
    visibility: hidden;
    position: absolute;
    left: -999px;
}
работает.
 

Царя

Well-Known Member
Регистрация
27.01.2012
Сообщения
55
Все пока идет хорошо, только как можно инпут спрятать? Наиболее правильный метод можешь подсказать?
Насчёт "правильности" не знаю, но
Код:
.<класс контейнера> input {
visibility: hidden;
position: absolute;
left: -999px;
}
работает.
Мне бы очень хотелось ваш скайп/вк, чтобы в режиме "онлайн" общаться и сразу задавать вопросы, скрыть сейчас попробую :)

Скрыл, теперь бы как придумать, что выбранная аватарка как-то выделяется, как это в стилях прописать?
Пробовал через
Код:
#tr_ad_portret img:focus{
тут параметры
}
 

AngelGabriel

И имя мне - легион
Регистрация
23.11.2008
Сообщения
778
И нафига тут инпут приплели, братва уже давно аякс юзает.
 

mrlasking

$_GET['rich'] or die('trying');
Регистрация
22.05.2012
Сообщения
323
[member=AngelGabriel], ну вот и я о том же) Но нет) Как видишь - рогом в этот инпут уперлись.
 

mrlasking

$_GET['rich'] or die('trying');
Регистрация
22.05.2012
Сообщения
323
[member=Царя],
Делаете список ul + присваиваете id аватарам + onclick событие (как вариант .click(), если подключена библиотека jQuery). И не извращайтесь с инпутами и лейблами.
или мне за вас код писать? :)
 

Царя

Well-Known Member
Регистрация
27.01.2012
Сообщения
55
[member=Царя],
Делаете список ul + присваиваете id аватарам + onclick событие (как вариант .click(), если подключена библиотека jQuery). И не извращайтесь с инпутами и лейблами.
или мне за вас код писать? :)
было бы не плохо помочь :(
 

mrlasking

$_GET['rich'] or die('trying');
Регистрация
22.05.2012
Сообщения
323
[member=Царя], дак этим и занимаемся. Только, если за тебя все писать будут - сам ничему не научишься.

http://jsfiddle.net/mrlasking/eQJcM/ - вот идея, развивай ;)
 

AngelGabriel

И имя мне - легион
Регистрация
23.11.2008
Сообщения
778
Тебе просто нужно слать некое значение на сервер. К примеру id пользователя и id автарки. Вешаем событие на клик по картинке. К примеру на джэйквери это так
Код:
var id_user = 10;
$('.avatar').on('click', function() {
var id_ava = $(this).data('id_ava');

$.ajax({
	 url: 'action.php',
	 type: 'post',
	 dataType:'json',
	 data: { id_user: id_user, id_ava: id_ava },
	 success: function( res ) {
		 console.log( res );
	 }
});
});
id авы прописываешь так
Код:
<img data-id_ava='3' src='/some.jpg' alt='ava1' />
id юзера сам подумай лткуда вытянуть.

На сервере обрабатывашь запрос. К примеру так, если php
Код:
if ( isset( $_POST['id_user'] ) && isset( $_POST['id_ava'] ) ) {
$id_user = intval( $_POST['id_user'] );
$id_ava = intval( $_POST['id_ava'] );

$sql = "UPDATE `users` SET `ava` = '{$id_ava}' WHERE `id` = '{$id_user}'";
$res = $db->query( $sql );

if ( !$res ) {
	 die( json_encode( array( 'stat' => 'error avatar not update' ) ) );
} else {
	 die( json_encode( array( 'stat' => 'ok' ) ) );
}
}
 
Статус
Закрыто для дальнейших ответов.
Верх Низ