jQuery get value of select onChange
Miałem wrażenie, że mogłem uzyskać wartość wejścia select, wykonując to $(this).val();
i stosując parametr onchange
do pola select.
Wygląda na to, że działa tylko wtedy, gdy odwołuję się do ID.
Jak to zrobić używając tego.
12 answers
Spróbuj tego-
$('select').on('change', function() {
alert( this.value );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option value="1">One</option>
<option value="2">Two</option>
</select>
Możesz również odwołać się do zdarzenia onchange -
function getval(sel)
{
alert(sel.value);
}
<select onchange="getval(this);">
<option value="1">One</option>
<option value="2">Two</option>
</select>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-04 15:53:48
Miałem wrażenie, że mogę uzyskać wartość select wejście przez wykonanie tego $(this).val ();
To działa, jeśli subskrybujesz dyskretnie (co jest zalecane podejście):
$('#id_of_field').change(function() {
// $(this).val() will work here
});
Jeśli używasz onselect
i mieszasz znaczniki ze skryptem, musisz przekazać odwołanie do bieżącego elementu:
onselect="foo(this);"
A następnie:
function foo(element) {
// $(element).val() will give you what you are looking for
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-24 17:03:51
To mi pomaga.
Dla wyboru:
$('select_tags').on('change', function() {
alert( $(this).find(":selected").val() );
});
Dla radia / checkbox:
$('radio_tags').on('change', function() {
alert( $(this).find(":checked").val() );
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-09 12:21:34
Wypróbuj metodę delegowania zdarzeń, działa to prawie we wszystkich przypadkach.
$(document.body).on('change',"#selectID",function (e) {
//doStuff
var optVal= $("#selectID option:selected").val();
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-20 00:21:24
Możesz spróbować tego (używając jQuery)-
$('select').on('change', function()
{
alert( this.value );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
Lub możesz użyć prostego Javascript w ten sposób -
function getNewVal(item)
{
alert(item.value);
}
<select onchange="getNewVal(this);">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-20 10:32:33
To mi się udało. Próbowałem wszystkiego innego bez powodzenia:
<html>
<head>
<title>Example: Change event on a select</title>
<script type="text/javascript">
function changeEventHandler(event) {
alert('You like ' + event.target.value + ' ice cream.');
}
</script>
</head>
<body>
<label>Choose an ice cream flavor: </label>
<select size="1" onchange="changeEventHandler(event);">
<option>chocolate</option>
<option>strawberry</option>
<option>vanilla</option>
</select>
</body>
</html>
Zaczerpnięte z Mozilla
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-25 22:11:25
Dla wszystkich selektów, wywołaj tę funkcję.
$('select').on('change', function()
{
alert( this.value );
});
Dla tylko jednego wyboru:
$('#select_id')
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-02 16:20:30
Poszukaj jQuery site
HTML:
<form>
<input class="target" type="text" value="Field 1">
<select class="target">
<option value="option1" selected="selected">Option 1</option>
<option value="option2">Option 2</option>
</select>
</form>
<div id="other">
Trigger the handler
</div>
JAVASCRIPT:
$( ".target" ).change(function() {
alert( "Handler for .change() called." );
});
Przykład JQuery:
Aby dodać test ważności do wszystkich elementów wprowadzania tekstu:
$( "input[type='text']" ).change(function() {
// Check input( $( this ).val() ) for validity here
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-31 07:57:53
$('select_id').on('change', function()
{
alert(this.value); //or alert($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="select_id">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-08 06:37:43
Funkcja Strzałki ma inny zakres niż funkcja,
this.value
Da undefined dla funkcji strzałki.
Aby naprawić użycie
$('select').on('change',(event) => {
alert( event.target.value );
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-16 13:01:47
Zauważ, że jeśli one nie działają, może to być spowodowane tym, że DOM nie został załadowany, a twój element nie został jeszcze znaleziony.
Aby naprawić, umieść skrypt na końcu body lub użyj document ready
$.ready(function() {
$("select").on('change', function(ret) {
console.log(ret.target.value)
}
})
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-19 15:04:02
jQuery(document).ready(function(){
jQuery("#id").change(function() {
var value = jQuery(this).children(":selected").attr("value");
alert(value);
});
})
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-04 07:13:44