Respostas:
var value_input = $("input[name*='xxxx']").val();
Embora não haja como negar que o jQuery é uma ferramenta poderosa, é uma péssima idéia usá-lo para uma operação trivial como "obter o valor do atributo de um elemento".
A julgar pela resposta atual aceita, assumirei que você foi capaz de adicionar um atributo de ID ao seu elemento e usá-lo para selecioná-lo.
Com isso em mente, aqui estão dois pedaços de código. Primeiro, o código fornecido na resposta aceita:
$("#ID").attr("name");
E segundo, a versão do Vanilla JS :
document.getElementById('ID').getAttribute("name");
Meus resultados:
Você pode testar por si mesmo aqui . A versão "plain JavaScript" é 35 vezes mais rápida versão que a versão do jQuery.
Agora, isso é apenas para uma operação, com o tempo você terá mais e mais coisas acontecendo no seu código. Talvez para algo particularmente avançado, a solução ideal "JavaScript puro" levaria um segundo para ser executada. A versão do jQuery pode levar 30 segundos a um minuto inteiro! Aquilo é enorme! As pessoas não vão se sentar por isso. Até o navegador fica entediado e oferece a opção de matar a página da Web por demorar muito!
Como eu disse, jQuery é uma ferramenta poderosa, mas deve não ser considerado a resposta para tudo .
Você precisa escrever um seletor que selecione o correto <input>
primeiro. Idealmente, você usa o ID do elemento $('#element_id')
, falhando que o ID do contêiner $('#container_id input')
ou a classe do elemento $('input.class_name')
.
Seu elemento não possui nenhum desses nem contexto, por isso é difícil dizer como selecioná-lo.
Depois de descobrir o seletor adequado, você usaria o método attr para acessar os atributos do elemento. Para obter o nome, você usaria o $(selector).attr('name')
que retornaria (no seu exemplo) 'xxxxx'
.
Uma maneira melhor poderia ser usar 'this', leva qualquer que seja o nome do 'id' e o use. Contanto que você adicione o nome da classe chamado 'mytarget'.
Sempre que qualquer um dos campos com destino for alterado, ele exibirá uma caixa de alerta com o nome desse campo. Basta cortar e colar o script inteiro para que ele funcione!
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
$('.mytarget').change(function() {
var name1 = $(this).attr("name");
alert(name1);
});
});
</script>
Name: <input type="text" name="myname" id="myname" class="mytarget"><br />
Age: <input type="text" name="myage" id="myage" class="mytarget"><br />
usando value get input name
$('input[value="1"]').attr('name');
usando id get input name
$('input[class="id"]').attr('name');
$('#id').attr('name');
usando classe get name da entrada
$('input[value="classname"]').attr('name');
$('.classname').attr('name'); //if classname have unique value
Se você estiver lidando com um único elemento, de preferência, use o id
seletor conforme indicado na resposta GenericTypeTea e obtenha o nome como $("#id").attr("name");
.
Mas se você quiser, como eu fiz quando encontrei essa pergunta, uma lista com todos os nomes de entrada de uma classe específica (no meu exemplo, uma lista com os nomes de todas as caixas de seleção desmarcadas da .selectable-checkbox
classe), você pode fazer algo como:
var listOfUnchecked = $('.selectable-checkbox:unchecked').toArray().map(x=>x.name);
ou
var listOfUnchecked = [];
$('.selectable-checkbox:unchecked').each(function () {
listOfUnchecked.push($(this).attr('name'));
});
Passe a classe para a tag de entrada e acesse o valor do nome usando a classe
<input class="test-class" name='xxxxx' value=1>
<script>
$('.test-class').attr('name');
</script>
Ou você também pode acessar o valor usando o id.
<input id="test-id" name='xxxxx' value=1>
<script>
$('#test-id').attr('name');
</script>
Para a linha abaixo, inicialmente enfrentou um problema sem fornecer um código único que o valor 'currnetRowAppName' não esteja ocupando espaço com a string. Então, depois de dar código único '"+row.applicationName+"'
, também está ocupando espaço.
Exemplo:
<button class='btn btn-primary btn-xs appDelete' type='button' currnetRowAppName='"+row.applicationName+"' id="+row.id+ >
var viewAppNAME = $(this).attr("currnetRowAppName");
alert(viewAppNAME)
Isso está funcionando bem.