2014-11-09 102 views
0

在這裏仍然在學習jquery,所以請原諒任何無知。爲jquery中的所有選中行設置「選擇」選項?

我有一個包含多個行的表。每行都有一個<select>標籤,我想在執行某個函數時「切換」它的值。因此,這裏的什麼表的樣子,例如:

<table align="center" class="table table-bordered table-hover table-condensed table-responsive"> 
    <thead> 
    ... 
    </thead> 
    <tbody> 
    <tr> 
     <td class="text-center"><input id="item_ids_" name="item_ids[]" type="checkbox" value="11521"></td> 
     <td class="text-center">Item value here</td> 
     <td class="text-center"> 
     <select class="form-control" id="item_11521_color" name="item[11521][color]"> 
      <option selected="selected" value="None">None</option> 
      <option value="Blue">Blue</option> 
      <option value="Orange">Orange</option> 
      <option value="Green">Green</option> 
      <option value="Yellow">Yellow</option> 
      <option value="Purple">Purple</option> 
     </select> 
     </td> 
     <td class="text-center"> 
     <select class="form-control" id="item_11521_test" name="item[11521][test]"> 
      <option selected="selected" value="None">None</option> 
      <option value="First">First</option> 
      <option value="Second">Second</option> 
     </select> 
     </td> 
    </tr> 
    </tbody> 
</table> 

我怎樣才能通過每一行迭代,並更改值(和文本)<option value="Blue"><option value="Orange">等各運行此功能的時間?

+0

請添加更多的細節正是你希望這個函數做什麼解釋。 – 2014-11-09 02:47:31

+0

只需更改所選行的所有行的第一組「選項」即可。 – LewlSauce 2014-11-09 02:48:15

回答

2

這是你在找什麼? (代碼更新)

$("#change").on("click", function() { 

    // loop throw all rows 
    $("table tr").each(function() { 

     // on a row, find the checkbox and change the values if it's checked 
     if($(this).find("input[type='checkbox']").prop("checked")) { 
      $(this).find(".color-select").val("Green"); 
      $(this).find(".position-select").val("First"); 
     } 

    }); 

}); 

添加一個按鈕以執行改變:

<button id="change">change all to Green and first</button> 

和類的選擇爲了簡化:

<select class="form-control color-select" id="item_11521_color" name="item[11521 [color]"> 
<select class="form-control position-select" id="item_11521_test" name="item[11521][test]"> 

編輯:

製造需要對代碼進行更改。

更新小提琴:http://jsfiddle.net/theagitator/44vqugf0/1/

+0

類別。但jsfiddle演示中的複選框不能確定哪些行被修改。這是我想要做的事情。雖然非常接近。謝謝 – LewlSauce 2014-11-09 03:07:02

+0

因此,如果該選項不是已被更改爲的選項,那麼該行上的複選框應該被檢查?我正在努力弄清楚你要在這裏做什麼。 – balzafin 2014-11-09 03:14:03

+0

我有一個包含幾行的表。我想「批量更改」每一行(如果選中複選框)「藍色」選項爲「橙色」。 – LewlSauce 2014-11-09 03:16:07