2012-04-30 128 views
0

如何根据用户对上述复选框的选择将复选框“变量值”添加到我的文本区域。我需要它来添加或删除,下拉工作正常只需要帮助与复选框的似乎无法让他们的工作。复选框值添加或删除到文本区域基于选择

这里是II到目前为止代码:

<html> 
<head> 

</head> 

<body> 


    Image 1 <input type="checkbox" name="ImageVar1" id="ImageVar1" /><br /> 
    Image 2 <input type="checkbox" name="ImageVar2" id="ImageVar2" /><br /> 
    Image 3 <input type="checkbox" name="ImageVar3" id="ImageVar3" /><br /> 
    Image 4 <input type="checkbox" name="ImageVar4" id="ImageVar4" /> 

<p>&nbsp;</p> 

    <select id="dropdown"> 
    <option value="">None</option> 
    <option value="textVar1">text 1</option> 
    <option value="textVar2">text 2</option> 
    <option value="textVar3">text 3</option> 
    <option value="textVar4">text 4</option> 
    </select> 

<p>&nbsp;</p> 

    <textarea id="mytext"></textarea> 

<script type="text/javascript"> 

var textVar1 = 'this is going to be a long sting of text for text 1 value '; 
var textVar2 = 'this is going to be a long sting of text for text 2 value '; 
var textVar3 = 'this is going to be a long sting of text for text 3 value '; 
var textVar4 = 'this is going to be a long sting of text for text 4 value '; 

var ImageVar1 = 'Image 1 value '; 
var ImageVar2 = 'Image 2 value '; 
var ImageVar3 = 'Image 3 value '; 
var ImageVar4 = 'Image 4 value '; 

var mytextbox = document.getElementById('mytext'); 
var mydropdown = document.getElementById('dropdown'); 

mydropdown.onchange = function(){ 
mytextbox.value = mytextbox.value + window[this.value]; 

} 
</script> 

</body> 
</html> 
+0

你使用jQuery? –

+0

by“variable value”你的意思是复选框的名称? –

+0

ImageVar1 ='图片1值' – Blnukem

回答

1

这里是一个没有框架(jQuery的无/原型)的方式的方式来做到这一点。

例子:http://jsfiddle.net/S5vcW/6/

虽然某些浏览器支持document.querySelectorAll("input[type='checkbox']")这将使脚本更简单,更高效。

var inputs = document.getElementsByTagName("input"); 
for(var i = 0; i < inputs.length; i++) { 
    if(inputs[i].type === "checkbox" && inputs[i].name.indexOf('ImageVar') > -1) { 
     inputs[i].onchange = function(){ 
      if(this.checked){ 
       mytextbox.value = mytextbox.value + ImageVars[this.name]; 
      }else{ 
       mytextbox.value = mytextbox.value.replace(ImageVars[this.name], ""); 
      } 
     } 
    } 
} 

而这是一个jQuery版本,完成同样的事情。

例子:http://jsfiddle.net/S5vcW/5/

$("input[type='checkbox'][name*='ImageVar']").change(function(){ 
    var $chk = $(this); 
    if($chk.prop('checked')){ 
     $mytextbox.val($mytextbox.val() + ImageVars[$chk.attr('name')]); 
    }else{ 
     $mytextbox.val($mytextbox.val().replace(ImageVars[$chk.attr('name')], "")); 
    } 
}); 
+0

“我需要它来添加或删除”。删除部分都不是你的例子。 – j08691

+0

@ j08691 - 现在他们做到了。 –

相关问题