2014-12-12 4 views
1

Моя ссылка:Обновление вход со значением A HREF Jquery

<a href="<?php echo $r['price']; ?>" id="buyorderprice" value=""><?php echo $r['price']; ?></a> 

и мой нерабочим JQuery:

$('a[href="buyorderprice"]').click(function(){ 
$('#sellprice').val($('#buyorderprice').attr('href')) 

}); 

значение цена только номер, который работает. Кроме того, я не хочу страницу, чтобы перезагрузить, когда я нажимаю кнопку просто обновить вход sellprice, который:

<input type="text" class="form-control" id="sellprice" name="sellprice" value="<?php echo 
$coinTicker->price($coin2[1] , 'sell'); ?>"> 

cointicker значение по умолчанию случайного числа

ответ

0

Try ...

$("#buyorderprice").click(function() { 
    $('#sellprice').val($('#buyorderprice').attr('href')); 
}); 

... с #buyorderprice - это идентификатор.

Чтобы сделать его более работоспособным, изменить HREF читать href="#" и использовать значение ...

<a href="#" id="buyorderprice" data-value="<?php echo $r['price']; ?>"><?php echo $r['price']; ?></a> 

... тогда вам не придется беспокоиться о функциональности якорной по умолчанию, который будет пытаться перейдите к цене. Затем эта линия стала бы ...

$('#sellprice').val($('#buyorderprice').data('value')) 
0

Использование JavaScript/Vanilla JS, вы можете достичь его, как это:

var a = document.getElementById('buyorderprice'); 
a.addEventListener('click',setValueNow); 

function setValueNow(e) { 
e.preventDefault(); 
var b = document.getElementById('sellprice').value = document.getElementById('buyorderprice').getAttribute('href'); 
} 

Here's a DEMO

0

Значение ввода изменяется , но затем ваша страница перезагружается, и вы не видите, что изменилось. Поэтому вам нужно остановить перегрузку страницы при нажатии кнопки.

Вот код, чтобы сделать это:

$("#buyorderprice").click(function(e) { 
    e.preventDefault(); 
    $('#sellprice').val($('#buyorderprice').attr('href')); 
}); 

jsFiddle demo here

+0

Вы должны объяснить, как ваши ответ решает проблему, а не просто сбрасывает на него какой-то код , Кроме того, вам не нужно 'return false', если вы используете' e.preventDefault() '. – Barmar

+0

Мне на самом деле нравится этот ответ, потому что это простота, но @Barmar правильно, должно быть больше описания, и это оставляет другие проблемы ** плохой практики **. – rfornal

+0

Спасибо за отзывы, ребята. Я обновил свой ответ. –

Смежные вопросы