How could I get the value of an element via the attribute name
instead of the ID
. eg if I use by id it would be $(\'#id\').val();
This works fine .. here btnAddCat is button id
$('#btnAddCat').click(function(){
var eventCategory=$("input[name=txtCategory]").val();
alert(eventCategory);
});
//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);
});
To get the value, we can use multiple attributes, one of them being the name attribute. E.g
$("input[name='nameOfElement']").val();
We can also use other attributes to get values
HTML
<input type="text" id="demoText" demo="textValue" />
JS
$("[demo='textValue']").val();
Only one thing more: when you´re using the "crasis variable assignment" you need to use double cotes too AND you do not need to use the "input" word!:
valInput = $(`[name="${inputNameHere}"]`).val();
Use the name attribute selector:
$("input[name='nameGoesHere']").val();
It is a mandatory requirement to include quotes around the value, see: http://api.jquery.com/attribute-equals-selector/
Use the name attribute selector:
$("input[name=nameGoesHere]").val();