Jak uzyskać wartość elementu według nazwy zamiast identyfikatora

111

Jak mogę uzyskać wartość elementu według nazwy zamiast identyfikatora, np. Jeśli używam przez id, byłoby to $('#id').val();

Elitmiar
źródło
1
co masz na myśli przez „imię”?
Natrium
3
Ale co masz na myśli mówiąc „imię”?
kjagiello
6
Myślę, że ma na myśli <input id = "ID" name = "Name" type = "text" />, tj. Używając nazwy zamiast pola id. Ale to może być tylko parafraza dla przykładu;)
Ed James
Możesz tam użyć dowolnego selektora CSS (przynajmniej nie spotkałem wyjątku)
muka.gergely

Odpowiedzi:

316

Użyj selektora atrybutu nazwy:

$("input[name=nameGoesHere]").val();
Nick Craver
źródło
3
Pamiętaj również, że posiadanie typu elementu nie jest konieczne.
rfunduk
5
+1 dla Ciebie Nick, ponieważ byłeś w stanie zrozumieć pytanie.
kjagiello
4
@thenduks: Chociaż to prawda ... nazwa zwykle znajduje się na wejściach, a to znacznie przyspiesza selektor.
Nick Craver
tylko aktualizacja tego. Podana przez @NickCraver metoda nie działała dla mnie, jednak $ (": input [name = nameGoesHere]"). Val () zadziałała w moim przypadku.
Gunnrryy,
41
$('[name=whatever]').val()

JQuery dokumentacja jest twoim przyjacielem.

rfunduk
źródło
9

Użyj selektora atrybutu nazwy:

$("input[name='nameGoesHere']").val();

Obowiązkowe jest umieszczanie cudzysłowów wokół wartości, patrz: http://api.jquery.com/attribute-equals-selector/

winorośl
źródło
Chciałem tylko zauważyć, że w niektórych przypadkach (przynajmniej moich) nie ma potrzeby umieszczania części „wejściowej”. Wystarczy: ---> $ ("[name = 'nameGoesHere']"). Val () ;. Chociaż pracuję w pakiecie Oracle. Patrzyłem na ten post w celach informacyjnych i nie mogłem go uruchomić, chyba że usunąłem „dane wejściowe” z oświadczenia. Na wszelki wypadek, gdyby ktoś inny odwiedził ten post w celach informacyjnych i również współpracuje z Oracle
user1898629
6

Aby uzyskać wartość, możemy użyć wielu atrybutów, jednym z nich jest atrybut nazwy . Na przykład

$("input[name='nameOfElement']").val();

Możemy również użyć innych atrybutów, aby uzyskać wartości

HTML

<input type="text" id="demoText" demo="textValue" />

JS

$("[demo='textValue']").val();
Anshul
źródło
1

To działa dobrze ... tutaj btnAddCat to identyfikator przycisku

$('#btnAddCat').click(function(){
        var eventCategory=$("input[name=txtCategory]").val();
        alert(eventCategory);
    });
Ajay Kumar
źródło
1
//name directly given
<input type="text" name="MeetingDateFrom">
var meetingDateFrom = $("input[name=MeetingDateFrom]").val();

//Handle name array
<select multiple="multiple" name="Roles[]"></select>
 var selectedValues = $('select[name="Roles[]"] option:selected').map(function() {
    arr.push(this.value);
  });
Jones
źródło
0
let startDate = $('[name=daterangepicker_start]').val();
alert(startDate);
Nieprawidłowy
źródło
0

Jaki element jest używany w części z zielonym tłem? Wystarczy wpisać nazwę elementu bez znaków „<” i „>”. Na przykład wpisz P, a nie, <P>jeśli odpowiedzią jest <P>element.

Amira Ahmed
źródło
-1

możesz również użyć nazwy klasy.

$(".yourclass").val();
cyberoot
źródło
Pytanie dotyczy uzyskania wartości przy użyciu nazwy, a nie klasy.
newbdeveloper