2012-04-11 47 views
0

我需要一些認真的幫助!我正在嘗試創建一個酒店搜索引擎。我需要從選擇框中獲取房間的數量,並按照在房間選擇框中選擇相同的次數克隆選擇框的一個分區。我希望這是有道理的。我還需要將div的文本更改爲1號房間,2號房間,3號房間等。這裏是我已經開始的jsfiddle,我不知道該從哪裏出發。 http://jsfiddle.net/liveandream/YxXtY/ 這裏是我的代碼: HTML:克隆div根據jquery中選擇的編號

Rooms:<select name="rooms" id='rooms'> 
     <option>1</option> 
     <option>2</option> 
     <option>3</option> 
     <option>4</option> 
     </select><br> 
<div id="room">Room 1: 
<br /> 
<div class='left' >Adults: 
    <select name="adults" id='adults'> 
     <option>1</option> 
     <option>2</option> 
     <option>3</option> 
     <option>4</option></select></div> 
<div class='left'>Children: 
    <select name="children" id="children"> 
     <option selected="selected">0</option> 
     <option>1</option> 
     <option>2</option> 
     <option>3</option> 
    </select></div> 
<div class='left' id="childage">Child Ages: 
    <select name="children" > 
     <option selected="selected">0</option> 
     <option>1</option> 
     <option>2</option> 
     <option>3</option> 
    </select></div><br clear="all" /></div> 
<div id="txt"></div> 

JQUERY:

$("select#rooms").change(function() { 
      var str = ""; 
      $("select#rooms option:selected").each(function() { 
       $("#room").clone(2).insertAfter("#txt"); 
       }); 
      $("#txt").text(str); 
     }) 
     .change();​ 

預先感謝您向任何人願意幫助!

編輯:我需要它是這樣的:http://www.helloweekends.com/

+0

如果您正確縮進代碼,更多人將能夠幫助... – elclanrs 2012-04-11 03:39:07

+0

我不確定我是否知道您的意思? – liveandream 2012-04-11 03:51:45

回答

0

而不是僅僅複製從現有的HTML元素,它最好能夠用JavaScript創建的那些元素。因此,對於你的函數時,房間的選擇數量的變化這就是所謂的,像

function() { 
    var html = ""; 
    var i; 
    for(i = 0; i < this.value; i++) 
    { 
     html += "<div class='room'>Room " + (i + 1); 
     html += "<br clear='all' />"; 
     html += "<div class='left' >Adults:<select name='adults' id='adults'>";   

     // ... Create the rest of the form part for the room ... 

    }  
    $("#roomsContainer").html(html); // #roomsContainer is a container around where the 
            // menus for the individual rooms should be. 
}