[英]JQuery Click event works only once
在我的頁面中有一個表,每個表行有兩個鏈接標記。 我想通過點擊第一個來調用秒,因為我想為第一個href中的第二個href添加一些參數。 第二個鏈接在彩色元素元素中打開。
標簽是。
<a id="linkToHiddenATag" href=" '#'.<?php echo $row['employee_id'];?>/<?php echo$row['supervisor_id'];?>" title="Product Operation List">Click for production entry</a>
<a class ="add cboxElement" href="#" id="hiddenATag" ></a>
完整的表格如下:
HTML
<div id="searchPanel">
<table id="searchTable" class="dataTable">
<thead>
<tr>
<th style="text-align: left; width: 8%;">SL</th>
<th style="text-align: left; width: 12%;">Employee Code</th>
<th style="text-align: left; width: 12%;">Employee Name</th>
<th style="text-align: left; width: 12%;">Designation</th>
<th style="text-align: left; width: 10%;">Entry Date</th>
<th style="text-align: left; width: 36%;">Entry</th>
<th style="text-align: center; width: 10%;">D'active</th>
</tr>
</thead>
<tbody>
<?php $loopCount = 1; if(isset($employeeData)){ foreach ($employeeData as $key => $row):?>
<tr id="tr_<?php echo $row['employee_id']; ?>">
<td style="text-align:center;"><input type="text" class="supervisorwiseSerial" id="supervisorwiseSerial_<?php echo $row['employee_id'];?>" name="supervisorwiseSerial_<?php echo $row['employee_id'];?>" value="<?php echo $row['supervisorwise_serial'] ;?>"></td>
<td><?php echo $row['employee_pre_code']."-".$row['employee_code'];?></td>
<td><?php echo $row['employee_name'];?></td>
<td><?php echo $row['designation_name'];?></td>
<td style="text-align: center;">
<input style="width: 80px;" type="text" placeholder="dd.mm.yyyy" class="dateOfProduction_" name="dateOfProduction_" id="dateOfProduction_<?php echo $row['employee_id']; ?>" required />
</td>
<td style="text-align: center;"><a class="btn btn-success btn-xs" id="setSerial_<?php echo $row['employee_id'];?>" role="button" href="#" >Set serial </a> || <a id="linkToHiddenATag" href="<?php echo '#'.base_url();?>production_entry/showOperationList/<?php echo $row['employee_id'];?>/<?php echo$row['supervisor_id'];?>" title="Product Operation List">Click for production entry</a></td>
<td style="text-align:center"><a class="btn btn-warning btn-xs" id="deActiveEmployee" href="<?php echo base_url().'employee'.'/'.'#'.'editOrDeactivate'.$row['employee_id'];?>" target="_blank">D'active Emp</a></td>
<input type="hidden" id="employeeId" value="<?php echo $row['employee_id']; ?>">
<input type="hidden" id="unit_<?php echo $row['employee_id']; ?>" value="<?php echo $row['unit_id']; ?>">
<input type="hidden" id="floor_<?php echo $row['employee_id']; ?>" value="<?php echo $row['floor_id']; ?>">
<input type="hidden" id="section_<?php echo $row['employee_id']; ?>" value="<?php echo $row['section_id']; ?>">
<input type="hidden" id="subsection_<?php echo $row['employee_id']; ?>" value="<?php echo $row['subsection_id']; ?>">
<input type="hidden" id="incharge_<?php echo $row['employee_id']; ?>" value="<?php echo $row['incharge_id']; ?>">
</tr>
<?php $loopCount++; endforeach;}?>
</tbody>
</table>
</div>
<div class="panel-footer" style="text-align: right;" id="searchPanelFooter">
<a id="saveAll" name="saveAll" class="btn btn-success btn-md" role="button" href="#">Save All</a>
<a class ="add cboxElement" href="#" id="hiddenATag" ></a>
</div>
使用Javascript:
$(document).on('click', 'a#linkToHiddenATag', function() {
var url = $(this).attr("href");
var arrfor = url.split('/');
var lengthto = arrfor.length;
var employeeSysIdForOpList = arrfor[lengthto - 2];
var supervisorIdForOpList = arrfor[lengthto - 1];
var prodOpGrp = parseInt($('select#operationGroupSelect').val());
var newhref = '';
if ($.isNumeric(prodOpGrp)) {
newhref = '<?php echo base_url().'
production_entry / showOperationList / ';?>' + employeeSysIdForOpList + '/' + supervisorIdForOpList + '/' + prodOpGrp;
} else {
newhref = '<?php echo base_url().'
production_entry / showOperationList / ';?>' + employeeSysIdForOpList + '/' + supervisorIdForOpList;
}
$('a#hiddenATag').removeProp("href");
$('a#hiddenATag').prop("href", newhref);
$('a#hiddenATag').click();
});
問題是click事件只能運行一次。 它永遠不會再發射。 我沒能發現問題。 有人可以提供幫助。
我嘗試了你的例子它正在運作。 我從示例中刪除了href以進行測試
問題 :
1)我運行你的代碼也顯示production_entry未定義
2)字符串連接錯誤也應該像這樣,如果它在新行(使用+)
$(document).on('click', 'a#linkToHiddenATag', function() { var url = $(this).attr("href"); var arrfor = url.split('/'); var lengthto = arrfor.length; var employeeSysIdForOpList = arrfor[lengthto - 2]; var supervisorIdForOpList = arrfor[lengthto - 1]; $('body').append('clicked') console.log("clicked") $('a#hiddenATag').click(); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <a id="linkToHiddenATag" href="#" title="Product Operation List">Click for production entry</a> <a class="add cboxElement" href="" id="hiddenATag" onClick="console.log('ss')"></a>
我認為你應該使用$('a#hiddenATag').trigger('click');
而不是$('a#hiddenATag').click();
試試這個
$('#linkToHiddenATag').on('click',function(){
*/ Write your code */
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.