2012-02-11 41 views
7

Dưới đây xuống là những gì tôi có ...Hiển thị tất cả các giá trị được lựa chọn của nhiều danh sách thả

<html> 
<body> 
<form name="myForm"> 
<select name="myOption" multiple> 
<option value="0">0</option> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
<option value="6">6</option> 
<option value="7">7</option> 
<option value="8">8</option> 
</select> 
<BR><BR> 
<input type=submit value="Print First" onClick="printMe()"> 

<input type=submit value="Print All" onClick="printAll()"> 

</body> 
<script> 
function printMe() { 
alert ("Selected option is " + myForm.myOption.value); 
} 

function printAll() { 

var str = ""; 

// what should I write here?? 

alert("Options selected are " + str); 
} 


</script> 
</html> 

Xin vui lòng cho tôi biết những gì tôi nên viết trong printAll() để tôi có thể in tất cả các giá trị mà tôi đã chọn .. . tôi biết làm thế nào tôi có thể in giá trị được lựa chọn đầu tiên ...

cảm ơn

Trả lời

6

làm thế nào về điều này ??

function printAll() { 

var str="",i; 

for (i=0;i<myForm.myOption.options.length;i++) { 
    if (myForm.myOption.options[i].selected) { 
     str = str + i + " "; 
    } 
} 

alert("Options selected are " + str); 
} 

Chúc may mắn !!!

0

tôi sẽ sử dụng jquery như nó dễ dàng hơn

jQuery:

$("myOption:selected").each(function() { 
alert($(this).text()); 
}); 
2

Bạn có thể làm một cái gì đó như thế này:

function printAll() { 

    var obj = myForm.myOption, 
     options = obj.options, 
     selected = [], i, str; 

    for (i = 0; i < options.length; i++) { 
     options[i].selected && selected.push(obj[i].value); 
    } 

    str = selected.join(); 

    // what should I write here?? 
    alert("Options selected are " + str); 
} 

Demo: http://jsfiddle.net/n3cXj/1/

0

http://jsfiddle.net/XBDmU/2/

var selected = []; 
$("#Mymutiple option").each(function(){ 
    $(this).click(function(evt){ 
    myvar = $(this).val(); 
    if (evt.ctrlKey){ 
     if(jQuery.inArray(myvar, selected) >-1){ 
      selected = jQuery.grep(selected , function(value) { 
       return value != myvar; 
      }); 
     } 
     else{ 
      selected.push(myvar); 
      } 
    } 
    else{ 
     selected = []; 
     selected.push(myvar);  
     } 
    }); 
}) 
$("#printMe").click(function(){ 
    alert("First selected is:" + selected[0]); 
    return false; 
    }); 
$("#printAll").click(function(){ 
alert("Options selected are :" + selected); 
return false; 
}); 

html:

<form name="myForm"> 
<select name="myOption" id="Mymutiple" multiple> 
<option value="0">0</option> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
<option value="6">6</option> 
<option value="7">7</option> 
<option value="8">8</option> 
</select> 
<BR><BR> 
<input type="submit" value="Print First" id="printMe"> 

<input type="submit" value="Print All" id="printAll"> 
0

Điều này sẽ giúp bạn. Đó là trong js tinh khiết. no jquery, mootools ...

<!DOCTYPE html> 
<html> 
<body> 
<script> 
function get(){ 
var str="",i; 

for (i=0;i<asa.cars.options.length;i++) { 
    if (asa.cars.options[i].selected) { 
     str += asa.cars.options[i].value + ","; 
    } 
} 
if (str.charAt(str.length - 1) == ',') { 
    str = str.substr(0, str.length - 1); 
} 
alert("Options selected are " + str); 
} 
</script> 
<form name="asa"> 
<select name="cars" id="combo" multiple> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="opel">Opel</option> 
    <option value="audi">Audi</option> 
</select> 
<input type="button" onclick="get()"> 
</form> 

<p>Hold down the Ctrl (windows)/Command (Mac) button to select multiple options.</p> 

</body> 
</html> 
Các vấn đề liên quan