Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Неопределенное число кнопок 2 (https://javascript.ru/forum/misc/70518-neopredelennoe-chislo-knopok-2-a.html)

wadim 11.09.2017 21:38

Неопределенное число кнопок 2
 
Подскажите пожалуйста. Такой код:

<div id='my_div' class='layer' style='position: absolute; top: 30px; left: 15px'>
</div>



<script>

arr = [1, 2, 'Банан'];

div = document.getElementById('my_div');

for (i=0; i<arr.length; i=i+1)
div.innerHTML += '<input type="button" value="продать" onclick=" Pocupca('+arr[i]+'); ">'




function Pocupca(p)
{
alert (p);
}


</script>


При нажатии на 3 кнопку нужно чтобы выводило alert-ом: 'Банан'

j0hnik 11.09.2017 21:54

<div id='my_div' class='layer' style='position: absolute; top: 30px; left: 15px'>
</div>



<script>

arr = [1, 2, 'Банан'];

div = document.getElementById('my_div');

for (i=0; i<arr.length; i=i+1)
div.innerHTML += '<input type="button" value="продать" onclick=" Pocupca('+arr[i]+'); ">';

document.querySelectorAll('input[type="button"]')[2].onclick = function(){
alert(arr[2]);
};


function Pocupca(p)
{
alert (p); 
} 


</script>

wadim 12.09.2017 09:49

Ваш код в корне не верен, к тому же не работает. Возможно Ваш этот код тут пригодится:

document.querySelectorAll('input[type="button"]')[2].onclick = function(){
alert(arr[2]);
};

но использовать его нужно с умом. Мне нужно чтобы через функцию
Pocupca('+arr[i]+'); передавалась строка 'Банан', мой код не работает именно по этому, числа передает, даже строку числовую передает: '1'

Dilettante_Pro 12.09.2017 12:45

wadim,
Код j0hnik работает и выполняет то , что вы просили
Но если уж очень хочется, чтобы исправить ваш код, то
<div id='my_div' class='layer' style='position: absolute; top: 30px; left: 15px'>
</div>

<script>

arr = [1, 2, 'Банан'];

div = document.getElementById('my_div');

for (i=0; i<arr.length; i=i+1)
div.innerHTML += '<input type="button" value="продать" onclick=" Pocupca(' + "'" +arr[i] + "'" + '); ">';

function Pocupca(p)
{
alert (p); 
} 


</script>


Часовой пояс GMT +3, время: 01:22.