Mat*_*att 2 javascript php kohana
我在使用一些javascript时遇到了一些麻烦.我正在使用jQuery动态地向表中添加行.此外,javascript是从一些PHP和Kohana代码生成的.
这是脚本.
<script type="text/javascript">
function delExtensionNumber(element){
$(element).prev().attr('value', 'X');
$(element).parent().parent().hide();
}
function addExtensionNumber(){
lines = <?php echo form::dropdown($ext_id."[did]", $lines, ''); ?>;
extensions = <?php echo form::dropdown($ext_id."[extension]", $phones, ''); ?>;
$('#line-extensions > tbody:last').append('<tr><td>'+lines+'</td><td>'+extensions+'</td><td><input type="hidden" name="'+<?php echo $ext_id;?>+'[state]" value="0" /><a class="hide" onclick="delExtensionNumber(this)"></a></td></tr>');
<?php $ext_id++; ?>
}
</script>
Run Code Online (Sandbox Code Playgroud)
这在Firefox中运行良好.但在IE和Chrome中它不起作用.谷歌浏览器中没有任何事情发生.在IE中,我在页面上收到错误.该错误是语法错误.它不喜欢字线后面的<字符.
好的,所以我想我最好在这个字符串周围添加一些引号.但是......当我这样做时,没有任何作用.
我只是假设form::dropdown是在吐出简单的HTML.在Firefox中,这是用E4X解释的,然后在连接时变回字符串.IE和Chrome不支持E4X.为了使它工作,你可以做这样的事情:
lines = <?php echo json_encode(form::dropdown(...)); ?>;
Run Code Online (Sandbox Code Playgroud)
编辑:当你在它周围加上引号时它不起作用的原因是因为HTML包含引号.上面的代码将正确地转义引号.
| 归档时间: |
|
| 查看次数: |
313 次 |
| 最近记录: |