Переменные и селекторы
Доброго времени суток! Почему, вот этот код:
var selec = '#7'; var step = $(selec); console.log(step); Возвращает нужный объект, а вот этот нет: var selec = '#'+data; //data = 7 var step = $(selec); console.log(step); ? |
Makkssimka,
потому что Цитата:
|
Почему тогда
console.log(selec); Возвращает #7 |
var selec = '#'+data; //data = 7 - скорее всего ложь console.log(data == 7, data); var step = $(selec); console.log(step); |
Вложений: 1
Приведу весь код:
$(document).ready(function(){ $('.delete').click(function(){ var id = $(this).parent('td').prevAll('.index').html(); $.post( '/admin/ajax', {data:id}, complete ); }); function complete(data){ var selec = '#'+data; var step = $(selec); console.log(step); } }); Выводит в консоле: |
console.log(data == 7); Возвращает true |
$(document).ready(function(){ $('.delete').click(function(){ var id = $(this).parent('td').prevAll('.index').html(); $.post( '/admin/ajax', {data:id}, complete ); }); function complete(data){ var selec = '#7'; var step = $(selec); console.log(step); } }); |
Этот то вариант работает, возвращает что нужно, но переменная data меняется в зависимости от элемента!
|
if (Request::initial()->is_ajax()){ $id = Arr::get($_POST, 'data'); $articles = ORM::factory('articles', $id); echo ($id); } Код с сервера. Может тут что не так! |
а что возвращает console.log(data == "7"); ?
|
Если "7" false, если 7 то true
|
console.log(data.length)
Поможет тебе в понимании проблемы А по сути это магия привидения типов сбивает с толку |
Цитата:
|
То есть сервер возвращает число! Но разве при сложение числа со строкой, если невозможно перевести строку в число, число не преабразуется в строку и добавляется к ней. Это первое. Второе если я передаются с сервера строку #7 получается таже Байда!
|
Цитата:
Цитата:
|
При много всем благодарен! Решение было очень просто, и по большей степени проблема возникла, из-за моей невнимательности. И заключалась она в разной кодировке! Один файл utf8 второй utf8 (без BOM).
|
Часовой пояс GMT +3, время: 05:33. |