0

我之前曾问过这个问题(请参阅此线程),但我再次陷入困境,并且该代码在另一个示例中似乎不起作用。

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>
4

3 回答 3

1

如果您删除 selected 属性,则选择器选择的任何内容都将为 false。尝试这个:

$('select[name="stylabid"]').change(function(){
    $('#pjtlabid option').removeAttr('selected');
});
于 2012-09-18T23:21:18.493 回答
1

GUI 现在有两个不同的选项列表。stylabid 和 pjtlabid。如果我单击其中一个,我希望清除另一个列表中的任何选定项目。

如果选择列表是指一个<select>元素,那么问题在于如何绑定更改处理程序: a<select>不是<input>. 相反,请执行以下操作:

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

另外,请确保您使用了正确的选择器'#pjtlabid'选择IDpjtlabid的元素,同时[name="stylabid"]选择名称stylabid的元素。名称和 ID 属性不相同。

于 2012-09-18T23:42:28.173 回答
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;
            });
        });​
于 2012-09-18T23:21:52.413 回答