我正处于问题的中间。
我有一个Ajax脚本返回“RuaAméricoVezzani@ParkAliança@Matão@ SP”,然后我将此结果拆分并与选择标记的选项匹配
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" });
},
问题是上面的代码无效。
当我设置我的变量estado时,例如
var estado = 'SP';
它有效
任何人都可以帮助我吗?
答案 0 :(得分:0)
你没有命名你的功能而且.toString是没有必要的。
请参阅小提琴: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" });
}
});
你可以删除警报,我把它留下来进行调试
答案 1 :(得分:0)
变化:
$(".estado_load ").find('option').each(function() {
if( $(this).val().match(estado) ) {
$(this).attr({ selected : "selected" });
}
});
要:
$(".estado_load option").filter(function() {
return this.value.trim() == estado.trim();
})
.attr('selected','selected');
答案 2 :(得分:0)