Dropdown Menu id = payment_method
- paid by reciever
- charge through invoices
Dropdown Menu id = shipping_carrier
- Fedex
- DHL
Input Field id = shipping_number __________________
Goal:
if user select charge through invoices
- disable shipping_carrier
- set Fedex as default
- hide() my shipping number input
Else,
- enable the shipping_carrier
- enable shipping number input (required)
Code
<script>
var logistic = function () {
if ($( "#payment_method option:selected" ).text("Charge through invoices")) {
$('#shipping_carrier').prop('disabled', false);
else {
$('#shipping_carrier').prop('disabled', 'disabled');
}
};
$(logistic);
$("#paid_by_reciever").change(logistic);
</script>
Advertisement
Answer
Here you go:
$("#payment_method").change(function() {
console.log($("#payment_method option:selected").val());
if ($("#payment_method option:selected").val() == 2) {
$('#shipping_carrier').prop('disabled', 'disabled');
$('#shipping_carrier').val(1);
$('#shipping_number').hide();
} else {
$('#shipping_carrier').prop('disabled', false);
$('#shipping_number').show();
}
});label {
display: block;
margin-bottom: 10px;
}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <label> Payment method: <br /> <select id="payment_method" name="payment_method"> <option value="1">paid by reciever</option> <option value="2">charge through invoices</option> </select> </label> <label> Shipping Carrier <select id="shipping_carrier" name="shipping_carrier"> <option value="1">Fedex</option> <option value="2">DHL</option> </select><br /> </label> <label> Shipping number<br /> <input type="text" name="shipping_number" id="shipping_number" value="" /> </label>