0

我有两个不同的按钮。两者都在单击时运行 JQuery 函数“ShowCommentBox”但是,当单击第二个按钮时,我想沿“SHowCommentBox”加载一个附加的 JQuery 函数——该附加函数允许在屏幕上显示额外的选项。

<input id="SubmitCommentsForBOQ" type="button" value="Comments" onclick="ShowCommentBox('<%: item.ItemCode %>'')" />

上面是我还想运行的第二个按钮

 $("#SubmitCommentsForTwo").click(function () {
        $("#hiddenBox").show();
    });

,这使得额外的功能可见......我该怎么做?

感谢您的任何回复

下面是原始的 JQuery:它加载了一个对话框

function ShowCommentBox(itemIdentifier, labourOrPlant, desc) {
        id = itemIdentifier;
        LabouringOrPlanting = labourOrPlant;
        description = desc;
        Function.DisplayBox(itemIdentifier);
        $("#LabourOrPlantDialog").dialog({ modal: true }); 
    }

和我的其他代码:

    <div id="LabourOrPlantDialog" title="Comments"  style="display:none;">
 <table class="detailstable FadeOutOnEdit">
     <tr>
        <th>Item</th>
     </tr>
     <tr>
         <td id="Item"></td>
     </tr>
 </table>    
 <br />

       <textarea id="ExistingComments" type="text" runat="server" rows="7" cols="30"
        maxlength="2000"> </textarea> 
       <input id="SubmitComment" type="button" value="Submit"
            onclick="SubmitButton()" />  

<br />

<div id="hiddenBox">
<input type="text" name="BoqTextBox" id="BoqTextBox" value="7.15" />
</div>
</div>
4

1 回答 1

1

最好将行为与标记分开。您可以使用 HTMLdata-属性解决这两个问题。

首先在 HTML 中嵌入数据:

<input id="SubmitCommentsForBOQ" type="button" value="Comments"
    data-item-code="<%: item.ItemCode %>" />

而不是onclick,仅使用 jQuery 绑定事件处理程序,并立即执行您需要的所有操作:

$("#SubmitCommentsForBOQ").click(function () {
    var itemCode = $(this).data('itemCode');
    ShowCommentBox(itemCode);
});

$("#SubmitCommentsForTwo").click(function () {
    $("#hiddenBox").show();
    var itemCode = $(this).data('itemCode');
    ShowCommentBox(itemCode);
});

多个处理程序将按照它们绑定的顺序执行,因此您也可以执行以下操作:

// happens first, but only for this specific button
$("#SubmitCommentsForTwo").click(function () {
    $("#hiddenBox").show();
});

// happens for all buttons
$("input[data-item-code]").click(function () {
    var itemCode = $(this).data('itemCode');
    ShowCommentBox(itemCode);
});
于 2013-03-24T21:11:55.647 回答