Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery单击时用标签替换按钮下拉列表_Javascript_Jquery - Fatal编程技术网

Javascript jQuery单击时用标签替换按钮下拉列表

Javascript jQuery单击时用标签替换按钮下拉列表,javascript,jquery,Javascript,Jquery,我有一个表,每行有一列按钮下拉列表。当用户从下拉列表中选择时,我希望下拉列表被反映他们所做选择的标签替换。我有这个工作,但它将只在第一个下拉列表 除不同的行号外,各行均与此相同: <tr> <td>1.</td> <td> <!-- Single button --> <div class="btn-group" id="MACdropdown">

我有一个表,每行有一列按钮下拉列表。当用户从下拉列表中选择时,我希望下拉列表被反映他们所做选择的标签替换。我有这个工作,但它将只在第一个下拉列表

除不同的行号外,各行均与此相同:

<tr>
      <td>1.</td>
      <td>
        <!-- Single button -->
        <div class="btn-group" id="MACdropdown">
          <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown">
          Action <span class="caret"></span>
          </button>
          <ul class="dropdown-menu">
            <li><a id="move" href="#">Move Assets</a></li>
            <li><a id="swap" href="#">SWAP Assets</a></li>
            <li><a id="add" href="#">Add Assets</a></li>
            <li><a id="cancel" href="#">Cancel Assets</a></li>
            <li><a id="change" href="#">Change Assets</a></li>
            <li class="divider"></li>
            <li><a href="#">Entire Site Move</a></li>
          </ul>
        </div>

      </td>
      <td>4534-23423</td>
      <td>123-234</td>
      <td>346</td>
      </tr>

1.
行动
4534-23423 123-234 346
JS:

$(文档).ready(函数(){
$(“#MACdropdown”)。在('click','a#move',function()上{
$(“#MACdropdown”)。替换为(“”);
})
$(“#MACdropdown”)。在('click','a#swap',function()上{
$(“#MACdropdown”)。替换为(“”);
})
$(“#MACdropdown”)。在('click','a#add',function()上{
$(“#MACdropdown”)。替换为(“”);
})
$(“#MACdropdown”)。在('单击','取消',函数()上{
$(“#MACdropdown”)。替换为(“”);
})
$(“#MACdropdown”)。在('click','a#change',function()上{
$(“#MACdropdown”)。替换为(“”);
})
});
我宁愿不必为页面上的每个下拉列表创建单独的JS语句集。示例:将#MACdropdown更改为#MACdropdown1等,并创建单独的函数


查看小提琴以了解更多信息:

编辑:将您的id更改为类并使用以下命令。使用重复id意味着当在选择器中使用时,它将只选择找到的第一个元素,类选择器将选择具有该类的所有项。在每个onclick函数中,在进行更改之前,它使用“this”来引用自身

$(document).ready(function(){

    $(".MACdropdown").on('click' , 'a#move' , function(){
      $(this).replaceWith('<a href="viewassets-move.html"><span class="label label-danger">MOVE</span></a>');
    })
    $(".MACdropdown").on('click' , 'a#swap' , function(){
      $(this).replaceWith('<a href="viewassets-move.html"><span class="label label-danger">SWAP</span></a>');
    })
    $(".MACdropdown").on('click' , 'a#add' , function(){
      $(this).replaceWith('<a href="viewassets-move.html"><span class="label label-danger">ADD</span></a>');
    })
    $(".MACdropdown").on('click' , 'a#cancel' , function(){
      $(this).replaceWith('<a href="viewassets-move.html"><span class="label label-danger">CANCEL</span></a>');
    })
    $(".MACdropdown").on('click' , 'a#change' , function(){
      $(this).replaceWith('<a href="viewassets-move.html"><span class="label label-danger">CHANGE</span></a>');
    })


});
$(文档).ready(函数(){
$(.MACdropdown”)。在('click','a#move',function()上{
$(此)。替换为(“”);
})
$(“.MACdropdown”)。在('click','a#swap',function()上{
$(此)。替换为(“”);
})
$(“.MACdropdown”)。在('click','a#add',function()上{
$(此)。替换为(“”);
})
$(.MACdropdown”)。在('click','a#cancel',function()上{
$(此)。替换为(“”);
})
$(“.MACdropdown”)。在('click','a#change',function()上{
$(此)。替换为(“”);
})
});

编辑:将您的id更改为类,并使用以下命令。使用重复id意味着当在选择器中使用时,它将只选择找到的第一个元素,类选择器将选择具有该类的所有项。在每个onclick函数中,在进行更改之前,它使用“this”来引用自身

$(document).ready(function(){

    $(".MACdropdown").on('click' , 'a#move' , function(){
      $(this).replaceWith('<a href="viewassets-move.html"><span class="label label-danger">MOVE</span></a>');
    })
    $(".MACdropdown").on('click' , 'a#swap' , function(){
      $(this).replaceWith('<a href="viewassets-move.html"><span class="label label-danger">SWAP</span></a>');
    })
    $(".MACdropdown").on('click' , 'a#add' , function(){
      $(this).replaceWith('<a href="viewassets-move.html"><span class="label label-danger">ADD</span></a>');
    })
    $(".MACdropdown").on('click' , 'a#cancel' , function(){
      $(this).replaceWith('<a href="viewassets-move.html"><span class="label label-danger">CANCEL</span></a>');
    })
    $(".MACdropdown").on('click' , 'a#change' , function(){
      $(this).replaceWith('<a href="viewassets-move.html"><span class="label label-danger">CHANGE</span></a>');
    })


});
$(文档).ready(函数(){
$(.MACdropdown”)。在('click','a#move',function()上{
$(此)。替换为(“”);
})
$(“.MACdropdown”)。在('click','a#swap',function()上{
$(此)。替换为(“”);
})
$(“.MACdropdown”)。在('click','a#add',function()上{
$(此)。替换为(“”);
})
$(.MACdropdown”)。在('click','a#cancel',function()上{
$(此)。替换为(“”);
})
$(“.MACdropdown”)。在('click','a#change',function()上{
$(此)。替换为(“”);
})
});

您应该使用其类而不是ID来引用每个下拉列表,正如您所知,ID必须是唯一的。如果将上述代码重复几次,仍然只能处理第一个下拉列表

HTML:


1.
行动
4534-23423 123-234 346
JS:

$(文档).ready(函数(){
$(.MACdropdown”)。在('click','a.move',function()上{
$(this).最近('.MACdropdown')。替换为('');
})
$(.MACdropdown”)。在('click','a.swap',function()上{
$(this).最近('.MACdropdown')。替换为('');
})
$(.MACdropdown”)。在('click','a.add',function()上{
$(this).最近('.MACdropdown')。替换为('');
})
$(.MACdropdown”)。在('click','a.cancel',function()上{
$(this).最近('.MACdropdown')。替换为('');
})
$(“.MACdropdown”)。在('click','a.change',function()上{
$(this).最近('.MACdropdown')。替换为('');
})
});

如你所见,我根本没有使用ID。每个select的行为都相同,其子控件只影响他(您也可以使用父选择器而不是最近的('.MACDropdown'))但是我选择了后者,以防你的布局有点改变。

你应该使用它的类而不是ID来引用每个下拉列表,正如你所知道的,ID必须是唯一的。如果你重复上面的代码几次,你仍然只会处理第一个下拉列表

HTML:


1.
行动
4534-23423 123-234 346
JS:

$(文档).ready(函数(){
$(.MACdropdown”)。在('click','a.move',function()上{
$(this).最近('.MACdropdown')。替换为('');
})
$(.MACdropdown”)。在('click','a.swap',function()上{
$(this).最近('.MACdropdown')。替换为('');
})
$(.MACdropdown”)。在('click','a.add',function()上{
$(this).最近('.MACdropdown')。替换为('');
})
$(.MACdropdown”)。在('click','a.cancel',function()上{
$(this).最近('.MACdropdown')。替换为('');
})
    <tr>
      <td>1.</td>
      <td>
        <!-- Single button -->
        <div class="btn-group" class="MACdropdown" id="MACdropdown1">
          <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown">
          Action <span class="caret"></span>
          </button>
          <ul class="dropdown-menu">
            <li><a class="move" href="#">Move Assets</a></li>
            <li><a class="swap" href="#">SWAP Assets</a></li>
            <li><a class="add" href="#">Add Assets</a></li>
            <li><a class="cancel" href="#">Cancel Assets</a></li>
            <li><a class="change" href="#">Change Assets</a></li>
            <li class="divider"></li>
            <li><a href="#">Entire Site Move</a></li>
          </ul>
        </div>

      </td>
      <td>4534-23423</td>
      <td>123-234</td>
      <td>346</td>
      </tr>
$(document).ready(function(){

    $(".MACdropdown").on('click' , 'a.move' , function(){
      $(this).closest('.MACdropdown').replaceWith('<a href="viewassets-move.html"><span class="label label-danger">MOVE</span></a>');
        })
    $(".MACdropdown").on('click' , 'a.swap' , function(){
      $(this).closest('.MACdropdown').replaceWith('<a href="viewassets-move.html"><span class="label label-danger">SWAP</span></a>');
        })
    $(".MACdropdown").on('click' , 'a.add' , function(){
      $(this).closest('.MACdropdown').replaceWith('<a href="viewassets-move.html"><span class="label label-danger">ADD</span></a>');
        })
    $(".MACdropdown").on('click' , 'a.cancel' , function(){
      $(this).closest('.MACdropdown').replaceWith('<a href="viewassets-move.html"><span class="label label-danger">CANCEL</span></a>');
        })
    $(".MACdropdown").on('click' , 'a.change' , function(){
      $(this).closest('.MACdropdown').replaceWith('<a href="viewassets-move.html"><span class="label label-danger">CHANGE</span></a>');
    })


  });
$(document).ready(function(){

        $(".MACdropdown").on('click' , 'a#move' , function(){
          $(this).parent().parent().parent().replaceWith('<a href="viewassets-move.html"><span class="label label-danger">MOVE</span></a>');
            })
        $(".MACdropdown").on('click' , 'a#swap' , function(){
          $(this).parent().parent().parent().replaceWith('<a href="viewassets-move.html"><span class="label label-danger">SWAP</span></a>');
            })
        $(".MACdropdown").on('click' , 'a#add' , function(){
          $(this).parent().parent().parent().replaceWith('<a href="viewassets-move.html"><span class="label label-danger">ADD</span></a>');
            })
        $(".MACdropdown").on('click' , 'a#cancel' , function(){
          $(this).parent().parent().parent().replaceWith('<a href="viewassets-move.html"><span class="label label-danger">CANCEL</span></a>');
            })
        $(".MACdropdown").on('click' , 'a#change' , function(){
          $(this).parent().parent().parent().replaceWith('<a href="viewassets-move.html"><span class="label label-danger">CHANGE</span></a>');
        })


      });
<table class="table table-striped">
<tbody><tr>
          <td>1.</td>
          <td>
            <!-- Single button -->
            <div class="btn-group" class="MACdropdown">
              <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown">
              Action <span class="caret"></span>
              </button>
              <ul class="dropdown-menu">
                <li><a id="move" href="#">Move Assets</a></li>
                <li><a id="swap" href="#">SWAP Assets</a></li>
                <li><a id="add" href="#">Add Assets</a></li>
                <li><a id="cancel" href="#">Cancel Assets</a></li>
                <li><a id="change" href="#">Change Assets</a></li>
                <li class="divider"></li>
                <li><a href="#">Entire Site Move</a></li>
              </ul>
            </div>

          </td>
          <td>4534-23423</td>
          <td>123-234</td>
          <td>346</td>
  </tr>
  <tr>
          <td>2.</td>
          <td>
            <!-- Single button -->
            <div class="btn-group" class="MACdropdown">
              <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown">
              Action <span class="caret"></span>
              </button>
              <ul class="dropdown-menu">
                <li><a id="move" href="#">Move Assets</a></li>
                <li><a id="swap" href="#">SWAP Assets</a></li>
                <li><a id="add" href="#">Add Assets</a></li>
                <li><a id="cancel" href="#">Cancel Assets</a></li>
                <li><a id="change" href="#">Change Assets</a></li>
                <li class="divider"></li>
                <li><a href="#">Entire Site Move</a></li>
              </ul>
            </div>

          </td>
          <td>4534-23423</td>
          <td>123-234</td>
          <td>346</td>
  </tr>
  <tr>
          <td>3.</td>
          <td>
            <!-- Single button -->
            <div class="btn-group" class="MACdropdown">
              <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown">
              Action <span class="caret"></span>
              </button>
              <ul class="dropdown-menu">
                <li><a id="move" href="#">Move Assets</a></li>
                <li><a id="swap" href="#">SWAP Assets</a></li>
                <li><a id="add" href="#">Add Assets</a></li>
                <li><a id="cancel" href="#">Cancel Assets</a></li>
                <li><a id="change" href="#">Change Assets</a></li>
                <li class="divider"></li>
                <li><a href="#">Entire Site Move</a></li>
              </ul>
            </div>

          </td>
          <td>4534-23423</td>
          <td>123-234</td>
          <td>346</td>
  </tr>
</tbody></table>
   <tr>
      <td>1.</td>
      <td>
        <!-- Single button -->
        <div class="btn-group" id="MACdropdown_1"> // should increment for each row
          <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown">
          Action <span class="caret"></span>
          </button>
          <ul class="dropdown-menu">
            <li><a id="move_1" href="#">Move Assets</a></li> 
            <li><a id="swap_1" href="#">SWAP Assets</a></li>
            <li><a id="add_1" href="#">Add Assets</a></li>
            <li><a id="cancel_1" href="#">Cancel Assets</a></li>
            <li><a id="change_1" href="#">Change Assets</a></li>
            <li class="divider"></li>
            <li><a href="#">Entire Site Move</a></li>
          </ul>
        </div>

      </td>
      <td>4534-23423</td>
      <td>123-234</td>
      <td>346</td>
      </tr>