2012-09-18 374 views
0

我之前曾問過這個問題(請參閱this thread),但我再次陷入困境,而且在另一個示例中,該代碼似乎不起作用。如何取消選擇所有選擇

GUI現在有兩個不同的選取列表。 stylabid和pjtlabid。如果我點擊其中一個,我希望清除其他列表中的任何選定項目。

這裏是jQuery代碼:

$('input[name="stylabid"]').change(
    function(){ 
     $('#pjtlabid').find('option').prop('selected',false) 
    }); 

但這並沒有影響......沒有人看到有什麼不對嗎?

TIA, rixter PS - 因爲你們當中有些人問,這裏是HTML代碼:

<div id=content-container2> 
     <fieldset> 
     <LEGEND><b>Select Study Sample</b></LEGEND> 
    <p> 
    <P CLASS=select_header>Study - Box - Well - Lab ID<br> 
    <SELECT multiple size=20 NAME="stylabid" onchange=show_stylabid() onclick=clear_fetch() STYLE="width: 115px"> 
    <?php 
     $i=0; 
     while ($i < $numstylabids) { 
     $styarr = pg_fetch_row($stylabidresult); 
     echo "<option value=$styarr[0]>$styarr[1]\n"; 
     $i++;   
     } 
     ?> 
    </select> 
    </p>     
     </fieldset> 
    </div> 

和第二選擇列表:

<fieldset> 
     <LEGEND><b>Select Project Sample</b></LEGEND> 
    <p> 
    <P CLASS=select_header>Project - Box - Well - Lab ID<br> 
    <SELECT multiple size=20 NAME="pjtlabid" onchange=show_pjtlabid() onclick=clear_fetch() STYLE="width: 115px"> 
    <?php 
     $j=0; 
     while ($j < $numpjtlabids) { 
     $pjtarr = pg_fetch_row($pjtlabidresult); 
     echo "<option value=$pjtarr[0]>$pjtarr[1]\n"; 
     $j++;   
     } 
     ?> 
    </select> 
    </p>     
     </fieldset> 
+1

我們可以看到您的標記嗎?實際上是否有一個使用'id = pjtlabid'的元素? –

+1

選擇列表的性質是總是有選擇的東西。我們在說多選? – weexpectedTHIS

+0

[It works for me](http://jsfiddle.net/Q2dmU/)。演示將更改值,無需鍵入... – nbrooks

回答

1

該GUI現在有兩個不同的選項列表。 stylabid和pjtlabid。如果我點擊其中一個,我希望清除其他列表中的任何選定項目。

如果選擇列表你說的是<select>元素,問題是你如何綁定你的改變處理程序:一個<select>不是<input>。相反,這樣做:

$('select[name="stylabid"]').change(function() { 
    $('#pjtlabid').find('option').prop('selected',false); 
}); 

另外,請確保您使用的是right selectors; '#pjtlabid'選擇其IDpjtlabid的元件,而[name="stylabid"]選擇其名稱stylabid的元素。名稱和ID屬性不一樣。

+0

很高興看到你的隊友! ':)'+1 –

+0

感謝您的回答;它有助於我更好地理解,但我仍然沒有解決問題... – rixter

1

如果刪除選定的屬性由選擇器選擇的任何東西都將是錯誤的。試試這個:

$('select[name="stylabid"]').change(function(){ 
    $('#pjtlabid option').removeAttr('selected'); 
}); 
+0

爲什麼不給你+1以及':''不確定是否需要removeattr嘗試添加'.prop'! –

+0

無法得到這個工作要麼...我害怕我的jQuery語法的知識是相當薄弱的... – rixter

0

像這個人? http://jsfiddle.net/5XFrc/1/

粘貼到您的HTML,我會做出具體的演示,請讓我知道這是否有幫助,或者我很高興刪除這篇文章。

請注意change您可以使用this.checked作爲狀態,然後使用該狀態更新屬性。

希望它有助於事業。

代碼

$("#tableOne thead tr th:first input:checkbox").click(function() { 
      var checkedStatus = this.checked; 
      $("#tableOne tbody tr td:first-child input:checkbox").each(function() { 
       this.checked = checkedStatus; 
      }); 
     });​ 
相關問題