weixin_33744854 2014-09-16 16:32 采纳率: 0%
浏览 21

jQuery选择选项

I'm in the middle of a problem here.

I have a Ajax script that returns this "Rua Américo Vezzani@Park Aliança@Matão@SP", then I split this result and match with the options of a select tag

      function (retorno)
        {
            var array_retorno = retorno.split('@');
            $(".endereco_load").val(array_retorno[0]);
            $(".bairro_load").val(array_retorno[1]);
            $(".cidade_load").val(array_retorno[2]);

            var estado = array_retorno[3].toString() ;

           $(".estado_load ").find('option').each(function() {
               if( $(this).val().match(estado)  ) {
                    $(this).attr({ selected : "selected" });
                }
           });

           // $(".estado_load option[value='" + estado + "']").attr({ selected : "selected" });

        },

the problem is that the code above doesnt work.

when i set my variable estado like this for instance

var estado = 'SP';

it works

can anyone help me?

  • 写回答

3条回答 默认 最新

  • weixin_33711641 2014-09-16 16:38
    关注

    You didn't name your function and .toString isn't necessary.

    See Fiddle: http://jsfiddle.net/13s58xjj/

    function splitString(retorno)
         {
            var array_retorno = retorno.split('@');
            $(".endereco_load").val(array_retorno[0]);
            $(".bairro_load").val(array_retorno[1]);
            $(".cidade_load").val(array_retorno[2]);
    
            var estado = array_retorno[3];
            alert(estado);
           $(".estado_load ").find('option').each(function() {
               if( $(this).val().match(estado)  ) {
                    $(this).attr({ selected : "selected" });
                }
           });
    

    You can remove the alert, I left it in for debugging

    评论

报告相同问题?