2011-08-15 9 views
0

以下のdivに選択したサブカテゴリ(マルチ)を表示する必要があります。また、選択によって間違って選択されたdiv要素を閉じる必要がある(上記の選択ボックスで)divに要素を追加したり削除したりすることができます。選択ボックスから選択したアイテムをdivに追加する際の助けが必要です(動的追加)

私も同様のコードを作ったが、マルチセレクションでは機能しなかった。

簡単に言うと、私は下のdivにクローズボタンで選択されたcatogories(マルチ)が必要です。

非常に感謝しています。

<script type="text/javascript"> 
function selectlist() { 
    checkboxhome = document.getElementById("check"); 
    catogery = document.getElementById("cat"); 
    value = catogery.options[catogery.selectedIndex].value; 
    checkboxhome.innerHTML = "<br/> <p>" + value + "</p>"; 

} 
</script> 
<body> 
    <form action="#" enctype="multipart/form-data"> 
     <select name="cat" id="cat" onchange="selectlist();" multiple="multiple"> 
      <option>Select subcatogery</option> 
      <option value="fashion">Fashion</option> 
      <option value="jewelry">Jewelry</option> 
      <option value="dresses">dresses</option> 
      <option value="shirts">Shirts</option> 
      <option value="diamonds">Diamonds</option> 
     </select> 
     <div id="check"> 
     </div></form> 
</body> 
</html> 

答えて

0

ループそれらが選択されている場合、このような何かをチェックしてoptionの上:http://jsfiddle.net/maniator/W6gnX/

Javascriptを:ここで

function selectlist() { 
    var checkboxhome = document.getElementById("check"); 
    var category = document.getElementById("cat"); 
    checkboxhome.innerHTML = ''; 
    for (var i = 0; i < category.options.length; i++) { 
     if (category[i].selected) { 
      checkboxhome.innerHTML += "<p>" + category.options[i].value + "</p>"; 
     } 
    } 

} 
+0

ありがとうございました。閉じるボタンでスタイルのようなボタンのdiv要素を取得することは可能ですか?また、これらのdiv値をPHP経由でmysqlに送信するにはどうしたらいいですか?動的に生成されるためです。 – steve

0

はあなたのために働くことができるもののフィドルある

function selectlist() { 
    checkboxhome = document.getElementById("check"); 
    catogery = document.getElementById("cat"); 
    value = getMultiple(catogery); 
    checkboxhome.innerHTML = "<br/> <p>" + value + "</p>"; 

} 


function getMultiple(ob) 
{ 
    var arSelected = new Array(), length = ob.length, i = 0, indexes = []; 
    while (ob.selectedIndex != -1 && i < length) 
    { 
     if (ob.selectedIndex != 0 && !in_array(ob.selectedIndex, indexes)) { 
      indexes.push(ob.selectedIndex) 
      arSelected.push(ob.options[ob.selectedIndex].value); 
     } 
     ob.options[ob.selectedIndex].selected = false; 
     i++; 
    } 
    var count = 0; 
    while(count < indexes.length){ 
     ob.options[indexes[count]].selected = true; 
     count ++; 
    } 
    return arSelected; 
} 

function in_array(needle, haystack) 
{ 
    for(var key in haystack) 
    { 
     if(needle === haystack[key]) 
     { 
      return true; 
     } 
    } 

    return false; 
} 
関連する問題