Застрял на простом
Есть набор элементов input. Необходимо при клике на любом, независимо от типа элемента, в поле data-debug вывести его значение data-fname или id.
<input type="text" data-fname="number" id="acc_number"><br> <input type="text" data-fname="date" id="acc_date"><br> <input type="text" data-fname="name" id="acc_munit"><br> <input type="text" data-fname="dislt" id="acc_tlocal"><br> <input type="text" data-fname="disln" id="acc_loc"><br> <input type="text" data-fname="disla" id="acc_obl"><br> <input type="text" data-fname="objects" id="acc_objects"><br> <input type="text" data-fname="laborators" id="acc_laborators"><br> <input type="text" data-fname="types" id="acc_types"><br> <input type="text" data-fname="materials" id="acc_materials"><br> <input type="text" data-fname="study" id="acc_study"> <hr> <div data-debug> Data-Fname / ID </div>
var acc_id = '';
$( '[id^="' + prefix_acc + '"]' ).live('click', function() {
var acc_id = $( this ).attr( "id" );
return acc_id;
});
$( "[data-debug]" ).text( acc_id );
PS: просьба сильно не ругаться... сам знаю что затупил :haha: |
WarDoctor,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var prefix_acc = 'acc_';
$( '[id^="' + prefix_acc + '"]' ).on('click', function() {
$( "[data-debug]" ).text( [this.dataset.fname, this.id].join(' / ') );
});
});
</script>
</head>
<body>
<input type="text" data-fname="number" id="acc_number"><br>
<input type="text" data-fname="date" id="acc_date"><br>
<input type="text" data-fname="name" id="acc_munit"><br>
<input type="text" data-fname="dislt" id="acc_tlocal"><br>
<input type="text" data-fname="disln" id="acc_loc"><br>
<input type="text" data-fname="disla" id="acc_obl"><br>
<input type="text" data-fname="objects" id="acc_objects"><br>
<input type="text" data-fname="laborators" id="acc_laborators"><br>
<input type="text" data-fname="types" id="acc_types"><br>
<input type="text" data-fname="materials" id="acc_materials"><br>
<input type="text" data-fname="study" id="acc_study">
<hr>
<div data-debug> Data-Fname / ID </div>
</body>
</html>
|
рони, спасибо.
желательно чтобы выводилось что-то одно. подскажите каким образом это сделать? Переменная acc_id в последующем коде должна быть использована, поэтому проверка ее значения и вынесена за пределы обработчика т.к. есть функции где с этой переменной будут произведены преобразования извините за вредность:stop: |
WarDoctor,
Цитата:
$( "[data-debug]" ).text( [this.dataset.fname, this.id].join(' / ') );
заменить на $( "[data-debug]" ).text( this.dataset.fname ); или на $( "[data-debug]" ).text( this.id); :( |
Цитата:
как реализовать основную мысль: переменная acc_id и результат обработчика должны быть доступны за пределами самого обработчика т.к. в последующем возвращённое обработчиком значение переменной используется в другом месте кода именно с этим проблема |
Решение найдено.
Спасибо за помощь в нахождении решения.
var prefix_acc = 'acc_';
$(function() {
$('[id^="' + prefix_acc + '"]').click(function() {
var id_acc = $(this).attr("id");
//var id_acc = $(this).data("fname");
MyFunction(id_acc);
});
function MyFunction(inp_id) {
//код выполнения
$("[data-debug]").text(inp_id);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <input type="text" data-fname="number" id="acc_number"><br> <input type="text" data-fname="date" id="acc_date"><br> <input type="text" data-fname="name" id="acc_munit"><br> <input type="text" data-fname="dislt" id="acc_tlocal"><br> <input type="text" data-fname="disln" id="acc_loc"><br> <input type="text" data-fname="disla" id="acc_obl"><br> <input type="text" data-fname="objects" id="acc_objects"><br> <input type="text" data-fname="laborators" id="acc_laborators"><br> <input type="text" data-fname="types" id="acc_types"><br> <input type="text" data-fname="materials" id="acc_materials"><br> <input type="text" data-fname="study" id="acc_study"> <hr> <div data-debug> Data-Fname / ID </div> |
Цитата:
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 14:02. |