Risposte:
var value_input = $("input[name*='xxxx']").val();
Mentre non si può negare che jQuery sia uno strumento potente, è una pessima idea usarlo per un'operazione così banale come "ottenere il valore dell'attributo di un elemento".
A giudicare dalla risposta attualmente accettata, suppongo che tu sia stato in grado di aggiungere un attributo ID al tuo elemento e usarlo per selezionarlo.
Con questo in mente, ecco due parti di codice. Innanzitutto, il codice fornito nella risposta accettata:
$("#ID").attr("name");
E in secondo luogo, la versione Vanilla JS di esso:
document.getElementById('ID').getAttribute("name");
I miei risultati:
Puoi provare tu stesso qui . La versione "semplice JavaScript" è oltre 35 volte più veloce della versione jQuery.
Ora, è solo per un'operazione, nel tempo avrai sempre più cose in corso nel tuo codice. Forse per qualcosa di particolarmente avanzato, la soluzione ottimale "puro JavaScript" richiederebbe un secondo per essere eseguita. La versione jQuery potrebbe richiedere da 30 secondi a un minuto intero! È enorme! La gente non si siederà per questo. Anche il browser si annoierà e ti offrirà la possibilità di uccidere la pagina web per troppo tempo!
Come ho detto, jQuery è uno strumento potente, ma dovrebbe non essere considerato la risposta a tutto .
Devi scrivere un selettore che seleziona <input>
prima il corretto . Idealmente si utilizza l'ID dell'elemento $('#element_id')
, in caso contrario l'ID del relativo contenitore $('#container_id input')
o la classe dell'elemento $('input.class_name')
.
Il tuo elemento non ha nessuno di questi e nessun contesto, quindi è difficile dirti come selezionarlo.
Una volta individuato il selettore appropriato, utilizzare il metodo attr per accedere agli attributi dell'elemento. Per ottenere il nome, useresti $(selector).attr('name')
quale sarebbe restituito (nel tuo esempio) 'xxxxx'
.
Un modo migliore potrebbe essere usare "questo", prende qualunque sia il nome dell '"id" e lo usa. Finché aggiungi il nome della classe chiamato "mytarget".
Ogni volta che uno dei campi che hanno target cambia, allora mostrerà una casella di avviso con il nome di quel campo. Basta tagliare e incollare l'intera sceneggiatura affinché funzioni!
<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 il valore ottieni il nome di input
$('input[value="1"]').attr('name');
usando id ottieni il nome di input
$('input[class="id"]').attr('name');
$('#id').attr('name');
usando la classe ottieni il nome di input
$('input[value="classname"]').attr('name');
$('.classname').attr('name'); //if classname have unique value
Se hai a che fare con un singolo elemento preferibilmente dovresti usare il id
selettore come indicato sulla risposta GenericTypeTea e ottenere il nome simile $("#id").attr("name");
.
Ma se vuoi, come ho fatto quando ho trovato questa domanda, un elenco con tutti i nomi di input di una classe specifica (nel mio esempio un elenco con i nomi di tutte le caselle di controllo non selezionate con .selectable-checkbox
classe) potresti fare qualcosa del tipo:
var listOfUnchecked = $('.selectable-checkbox:unchecked').toArray().map(x=>x.name);
o
var listOfUnchecked = [];
$('.selectable-checkbox:unchecked').each(function () {
listOfUnchecked.push($(this).attr('name'));
});
Passa la classe al tag di input e accedi al valore del nome usando class.
<input class="test-class" name='xxxxx' value=1>
<script>
$('.test-class').attr('name');
</script>
Oppure puoi anche accedere al valore usando id.
<input id="test-id" name='xxxxx' value=1>
<script>
$('#test-id').attr('name');
</script>
Per la riga seguente, inizialmente affrontato il problema di non dare un singolo codice che il valore 'currnetRowAppName' non occupa spazio con stringa. Quindi, dopo aver dato un singolo codice '"+row.applicationName+"'
, occupa anche spazio.
Esempio:
<button class='btn btn-primary btn-xs appDelete' type='button' currnetRowAppName='"+row.applicationName+"' id="+row.id+ >
var viewAppNAME = $(this).attr("currnetRowAppName");
alert(viewAppNAME)
Funziona benissimo.