2012-04-30 61 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 - 現在他們做到了。 –

相關問題