Ynajar
Ynajar

Reputation: 35

Jquery change color condition

Hi everyone I have an issue with Jquery :

I have a multiple selection and the user can select one thing and it will copy the text into an input above. I would like that the text in the multiple selection that will be copied become red if the button is clicked so did you understand? I don't know how to do condition in Jquery, here is what I have done :

 $(document).ready(function(){
    if ($choose = true)
    {
        $("ok").click(function(){
        $("droite").css({"background-color":"yellow"});
    }
    });
});

droite is an id and no it's not working but I would like to know how it works

choose is a function here it is :

     var choose = function(bouton){
    var lesoptions = $('#droite').find(":selected");
        //lesoptions.remove();
        $('#numLot').val(lesoptions[0].text);
};

Can I have your opinion ?

thanks

Upvotes: 0

Views: 345

Answers (3)

j809
j809

Reputation: 1499

You have to use . selector before class names and # before id names.

Read about selectors: jQuery Selectors

Since choose is a function so, you will have to return something and check if it returns true/false. So make your function like this:

function choose(bouton){
    var something = /*your return value*/; //Put your return value here
    var lesoptions = $('#droite').find(":selected");
    $('#numLot').val(lesoptions[0].text);
    return something; //something is what you want to be returned by function
};

If $choose is not defined while you are putting it in if condition then you will not get proper working.

If #ok is added dynamically then use delegation using .on.

You should put code like this:

$(document).ready(function(){
    var $choose = choose(bouton);
    if ($choose)
    {
        $("#ok").on("click",function(){ //Again not mentioned what is ok, still like you told I assume it id
            $("#droite").css("background-color","yellow");
        });
    }
});

Upvotes: 1

Anto king
Anto king

Reputation: 1222

Try to use like below,

 var $Choose;
    //Assign value to $Choose as like true or false
      $(document).ready(function(){
            if ($choose)
            {
//If you have id like ok use "#" or if class use "." instead
                $("#ok").click(function(){
                    $("#droite").css({"background-color":"yellow"});
                });
            }
        });

Hope this helps...

Upvotes: 1

EduSanCon
EduSanCon

Reputation: 1929

$("ok") is wrong. it should be $("#ok") or $(".ok") or whatever.

compare operator is == instead =

Upvotes: 1

Related Questions