что не так в этом коде? - PullRequest
       20

что не так в этом коде?

0 голосов
/ 03 декабря 2009

я использую следующую функцию javascript

function showUser(cats1,cats2,nam_cat)
{
        document.getElementById("eq").style.display='';
        document.getElementById('eq').innerHTML = '<TABLE cellpadding="3" class="b bc r w4"><TR class="ln g"> <TD class="l"><B>'+nam_cat+' Schemes</B></TD> <TD><A HREF="#" onclick="AlphaSort(\'scheme_1_month\',\'+cats1+\',\'+cats2+\',\'+nam_cat+\')">1 mth</a></TD> <TD>3 mth</TD> <TD>6 mth</TD> <TD>1 yr</TD> <TD>3 yr</TD> <TD>5 yr</TD> <TD>Inception</TD> <TD>NAV</TD></TR>'+sc_nms+'</Table>';
        document.getElementById("all").style.display='none';
    }
}

но когда iam предупреждает данные в функции AlphaSort, тогда отображается имя в том виде, как оно есть, то есть "+ cats1 +". Мои значения поступают прямо до вызова, но во время вызова эти значения не передаются соответствующей функции. Какова ошибка в моем коде вызова этой функции ??????

Ответы [ 2 ]

2 голосов
/ 03 декабря 2009

Хорошо, вот мой тест кода, который вы предоставили - с настройками, которые заставляют его работать. К сожалению, вы не включили функцию AlphaSort, но если предположить, что именно ошибки в этой функции мешали работе, это может вас остановить!

<div id="eq"></div>
<div id="all"></div>



<script type="text/javascript">
function showUser(cats1,cats2,nam_cat)
{
    var sc_nms = "You didn't define this variable";
       document.getElementById("eq").style.display='';
       document.getElementById('eq').innerHTML = '<TABLE cellpadding="3" class="b bc r w4"><TR class="ln g"> <TD class="l"><B>'+nam_cat+' Schemes</B></TD> <TD><A HREF="#" onclick="AlphaSort(\'scheme_1_month\',\''+cats1+'\',\''+cats2+'\',\''+nam_cat+'\')">1 mth</a></TD> <TD>3 mth</TD> <TD>6 mth</TD> <TD>1 yr</TD> <TD>3 yr</TD> <TD>5 yr</TD> <TD>Inception</TD> <TD>NAV</TD></TR>'+sc_nms+'</Table>';
       document.getElementById("all").style.display='none';
}

showUser("meow", "purr", "Fluffy");
</script>
1 голос
/ 03 декабря 2009

Проблема в том, что когда вы намереваетесь объединить значение из переменной "cats1" в строку, вы фактически вставляете его как строку, поскольку предыдущая одинарная кавычка для разделения строки экранируется.

Удаляя \ перед одинарными кавычками, вы добавляете в строку значение переменной, а не саму строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...