2010-09-05 43 views
0

我想要做的是当我点击一个复选框时,它会自动出现在页面的某个部分。我试图得到一个复选框的的onclick = 'displayit()'/ oncchange = 'displayit()'其中displayit()是:document.obj.write()..有可能吗?

function displayit(obj){ 
document.divnam.write(obj.value); 
} 

divnam是分割其中的名称我想文本appear..isnt这可能吗?我还试图消除divnam,并把函数本身在分裂

<div name='divnam' ><script> 
function displayit(obj){document.write(obj.value);} 
</script></div> 

回答

0

在把一个元素而不是name,以便您可以轻松访问它。您可以使用innerHTML属性设置元素的内容:

function displayit(obj){ 
    document.getElementById('divnam').innerHTML = obj.value; 
} 

把元素中的脚本,如果你运行的脚本,而加载页面时只会工作。在元素中声明一个函数没有任何作用,声明函数的页面在哪里并不重要。

+0

OK耶非常感谢:)我忘记了innerHTML。那么我想改变元素的内容..我应该使用jquery吗? $(二)? – kapitanluffy 2010-09-05 13:34:25

+0

如何追加另一个文本?比如它已经显示了值,然后当我点击另一个复选框时,我想将值附加到它上面......比如创建一个列表或其他东西。 – kapitanluffy 2010-09-05 13:41:22

+0

@kapitanluffy:如果你想添加几个文本到一个元素,你应该添加它们作为子元素,例如'span'元素。使用'document.createElement('SPAN')'创建一个元素,将该文本放入该元素中,并使用'appendChild'方法将其添加到'div'中。 – Guffa 2010-09-05 13:48:12

0

document.write仅在页面初始加载时有效。你想现在要做的就是把一些数据在页面的某些部分,用说一个id="target" DIV:

<div id="target"></div> 

和JavaScript部分:

<script> 
function displayit(obj){ 
    document.getElementById('target').innerHTML=obj.value; 
} 
</script>