2016-01-04 3 views
4

Я пытаюсь передать значение от кнопки до входного значения с помощью Javascript. То, что я сейчас этоПередайте значение от кнопки до значения ввода

это внутри файла JavaScript

var test2 = 5; 
appendeddatahtml = '<div class="test1"><button id="btn" type="button" value="' + test2 + '">This is it!</button></div>'; 
$("#test1").append(appendeddatahtml); 

И это выше сценарий

<input type="text" name="latlon" id="latlon" style="display: none; " value="" /> 

Первая форма я попытался сделать предупреждение с этим кодом

$(document).ready(function() { 
    $("#btn").click(function() { 
    alert("The button was clicked."); 
    }); 
}); 

Но ничего не предупредил. Есть ли способ передать значение от кнопки до входного значения?

+1

'$ ("# БТН") нажмите (функция() { предупреждение ("кнопка была нажата."). }); этот код должен быть помещен после '$ (" # test1 "). Append (appendeddatahtml); 'no need for' document.ready' –

+0

id должен быть уникальным на странице –

ответ

6

Поскольку вы добавляете его динамически, вам нужны event delegation здесь. Так просто добавьте нажмите ниже:

$(document).on('click',"#btn",function(){ 
    alert("The button was clicked."); 
}); 

DEMO Here

2

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

http://api.jquery.com/on/

это одна поможет

пример:

$(document).ready(function() { 
    $(document).on('click', "#btn", function() { 
     alert('here'); 
    }); 
}); 
0

Вы не создали элемент первой.

Вы забыли $();

var test2 = 5 ; 

appendeddatahtml = $('<div class="test1"><button id="btn" type="button" value="'+test2+'">This is it!</button></div>'); 
    $("#test1").append(appendeddatahtml); 
+0

извините, но это нехороший ответ, все внутри внутри '' отображаются как html, ожидающие переменные, такие как 'test2', поэтому $() здесь это просто текст попробуйте запустить код, и вы увидите – Gintoki

+0

К сожалению! Сожалею. I my bad –

+0

в любом случае проблема не в этом, не имеет смысла добавлять $() .... [в jquery we $ для доступа к элементу DOM PLZ подробнее о jquery/javascript] – Gintoki

1

здесь работает только удалить $ (документ) .ready()

var test2 = 5 ; 
 
appendeddatahtml = '<div class="test1"><button id="btn" type="button" value="'+test2+'">This is it!</button></div>'; 
 
$("#test1").append(appendeddatahtml); 
 

 
    $("#btn").click(function(){ 
 
    alert("The button was clicked."); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" name="latlon" id="latlon" style="display: none; " value="" /> 
 
<div id="test1"></div>

0

ссылку на рабочий пример того, что вы хотите это here

HTML код

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<input type="text" name="latlon" id="latlon" style="display: block; " value="" /> 
<div id="test1"> 
</div> 

Javascript код

$(document).ready(function() { 
    var test2 = 5 ; 
    var appendeddatahtml = '<div class="test1"><button id="btn" type="button" value="'+test2+'">This is it!</button></div>'; 
         $("#test1").append(appendeddatahtml); 
    $("#btn").click(function(){ 
     alert("The button was clicked. "+this.value); 
     document.getElementById('latlon').value = this.value; 
    }); 
});