2014-06-25 85 views
0

我有这样的脚本:挑选随机值

<script> 
    function $(id) { 
     return document.getElementById(id); 
    } 
    function getImage() { 

     $('loader').src='/misc/images/loading.gif'; 
     var url = "http://mousecreator.com/"; 

     // outfit 
     var head = "&head="+$('head').value; 
     var ears = "&ears="+$('ears').value; 
     var eyes = "&eyes="+$('eyes').value; 
     var mouth = "&mouth="+$('mouth').value; 
     var neck = "&neck="+$('neck').value; 
     var ears = "&ears="+$('ears').value; 
     var hair = "&hair="+$('hair').value; 
     var fur = "&fur="+$('fur').value; 
     var tail = "&tail="+$('tail').value; 


     // sham 
     if(document.sh.sham.checked) 
      var sham = "&sham=1"; 
     else 
      var sham = ""; 

     //alert(document.sh.sham.checked); 


     var murl = url +"mouse.php?" + head + ears + eyes + mouth + neck + ears + hair + fur + tail + sham; 

     // set the preview image and text box 
     $('prem').src=murl; 
    } 

    function remLoad() { 
     $('loader').src=""; 
    }</script> 

      <select id="head"> 
     <option value="235">Value 1</option> 
     <option value="324">Value 2</option> 
    ... 
    ... 
<button onclick="getImage()">Generate</button> 

有没有什么办法让一个按钮,同时随机挑选的ID从所有下拉列表中单击时生成按钮?每个ID(头,耳朵,眼睛等有它自己的下拉列表)

在此先感谢!

+0

如果您存储每个ID在数组中,你可以得到一个随机数(指数)来访问项目。 – Jasen

回答

1
function randomItemFrom(arr) { 
    return arr[Math.floor(Math.random() * arr.length)]; 
} 

function randomOptionFrom(select) { 
    return randomItemFrom(select.options); 
} 

var randomEye = randomOptionFrom($('#eyes')[0]).value; 

您也可以使randomOptionFrom函数接受的jQuery对象或选择。

function randomOptionFrom(select) { 
    return randomItemFrom($(select)[0].options); 
} 

然后,你可以这样调用它:

randomOptionFrom($('#eyes')).value; 

randomOptionFrom('#eyes').value;