I have been trying to find out why the following lines of code do not work:
$('#add-cloud > select').change(function() {
    var selected = parseInt($('#add-cloud select option:selected').val()); 
    $("#cloud-calculator table tr:eq(selected)").css("color", "red");
});
If I change :eq(selected) to :eq(4) for example - works fine. How do you pass variable as an argument to :eq() ?
You have to concatenate your variable with your selector:
$("tr:eq("+selected+")");
                        The way you're doing it, you're embedding the actual string "selected" in the selector.  You need to construct a string using your selected variable as a part of it:
$("#cloud-calculator table tr:eq(" + selected + ")").css("color", "red");
                        Also, you can simply use the 'this' object to get the seleted value.
$('#add-cloud > select').change(function() 
{
    var rowSelector = '#cloud-calculator table tr:eq(' + parseInt(this.val()) + ')';
    $(rowSelector).css("color", "red");
}
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With