Comment puis-je accéder à la valeur d'attribut dans une option, lorsque je la choisis?
C'est mon HTML
<select name="property_id">
<option value="1" price="15000">Property A</option>
<option value="2" price="21000">Property B</option>
</select>
Et c'est mon JS
<script>
$(document).ready(function(){
var $price = $(this).attr('price'),
$percentage = $("input[name='participation_percent']").on("input", calculatePrice),
$discount = $("input[name='participation_amount']").on("input", calculatePerc);
function calculatePrice() {
var percentage = $(this).val();
var price = $price.val();
var calcPrice = ( price * percentage / 100 ).toFixed(2);
$discount.val( calcPrice );
}
function calculatePerc() {
var discount = $(this).val();
var price = $price.val();
var calcPerc = (discount * 100 / price);
$percentage.val( calcPerc );
}
</script>
Je veux obtenir de la valeur du prix des attributs, mais cela ne fonctionne pas. Une idée ?
L'option choisie sera envoyée à la console à chaque changement. Vous pouvez également simplement le stocker dans une variable pour une utilisation future.
Ajout de code: $("#select").val()
.
Remarque : vous n'avez pas spécifié la valeur exacte que vous espérez afficher, j'ajoute donc deux cas - value
et price
.
$(document).ready(function() {
var $price = $(this).attr('price'),
$percentage = $("input[name='participation_percent']").on("input", calculatePrice),
$discount = $("input[name='participation_amount']").on("input", calculatePerc);
function calculatePrice() {
var percentage = $(this).val();
var price = $price.val();
var calcPrice = (price * percentage / 100).toFixed(2);
$discount.val(calcPrice);
}
function calculatePerc() {
var discount = $(this).val();
var price = $price.val();
var calcPerc = (discount * 100 / price);
$percentage.val(calcPerc);
}
});
function getVal() {
console.log($("#select").val());
console.log($("#select option:selected").attr('price'));
}
getVal();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="property_id" onchange='getVal()' id='select'>
<option value="1" price="15000">Property A</option>
<option value="2" price="21000">Property B</option>
</select>
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots