如何更改属于 JS/jQuery 中特定行的按钮文本?
How to change button text belonging to a particular row in JS/jQuery?
我正在编写 html/php 代码,如下所示,点击按钮后,我想更改 Go 按钮文本到 正在转换 。
<?php foreach ($programs as $key => $program) { ?>
<tr data-index="<?php echo $key; ?>">
<td><input style="text-align:center; width:90px;" onclick="change()" type="submit" id="go-btn" name="go-button" value="Go" data-id="<?php echo $key; ?>" ></input></td>
</tr>
<?php }?>
此刻,我在 UI 处有 2 行。下面是检查代码:
<tr data-index="0">
<td><input onclick="change()" type="submit" id="go-btn" name="go-button" value="Go" data-id="0" class="go-btn btn btn-outline-primary">
</td>
</tr>
<tr data-index="1">
<td><input onclick="change()" type="submit" id="go-btn" name="go-button" value="Go" data-id="1" class="go-btn btn btn-outline-primary">
</td>
</tr>
这是我尝试过的方法,但还需要做更多。
function change()
{
var elem = document.getElementById("go-btn");
var attribute = elem.getAttribute('data-id');
console.log(attribute); // It will print 0 everytime as it is taking the data-id value in the document.
}
问题陈述:
我想知道我应该在上面的 JS 代码 中做些什么更改,以便在单击按钮时,按钮内的文本
属于特定行的应该从 Go 更改为 Converting。
您可以将点击事件侦听器添加到名称为 go-button
的输入。如果您更改 .val
那么这将更改显示给用户的文本。单击按钮后,我还禁用了这些按钮,因为我想这是您情况下的预期行为(即用户必须等待转换完成)。
完成后,如果需要,您可以 re-enable 按钮 .attr("disabled", "false")
N.B。 id
应该是唯一的,因此您应该尽可能更改按钮的 ID。
演示
// Add click event to the inputs with class .go-button
$("input[name='go-button']").click( function() {
// Change the text of the button, and disable
$(this).val("Converting").attr("disabled", "true");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<tr data-index="0">
<td><input type="submit" id="go-btn" name="go-button" value="Go" data-id="0" class="go-btn btn btn-outline-primary">
</td>
</tr>
<tr data-index="1">
<td><input type="submit" id="go-btn" name="go-button" value="Go" data-id="1" class="go-btn btn btn-outline-primary">
</td>
</tr>
我正在编写 html/php 代码,如下所示,点击按钮后,我想更改 Go 按钮文本到 正在转换 。
<?php foreach ($programs as $key => $program) { ?>
<tr data-index="<?php echo $key; ?>">
<td><input style="text-align:center; width:90px;" onclick="change()" type="submit" id="go-btn" name="go-button" value="Go" data-id="<?php echo $key; ?>" ></input></td>
</tr>
<?php }?>
此刻,我在 UI 处有 2 行。下面是检查代码:
<tr data-index="0">
<td><input onclick="change()" type="submit" id="go-btn" name="go-button" value="Go" data-id="0" class="go-btn btn btn-outline-primary">
</td>
</tr>
<tr data-index="1">
<td><input onclick="change()" type="submit" id="go-btn" name="go-button" value="Go" data-id="1" class="go-btn btn btn-outline-primary">
</td>
</tr>
这是我尝试过的方法,但还需要做更多。
function change()
{
var elem = document.getElementById("go-btn");
var attribute = elem.getAttribute('data-id');
console.log(attribute); // It will print 0 everytime as it is taking the data-id value in the document.
}
问题陈述:
我想知道我应该在上面的 JS 代码 中做些什么更改,以便在单击按钮时,按钮内的文本 属于特定行的应该从 Go 更改为 Converting。
您可以将点击事件侦听器添加到名称为 go-button
的输入。如果您更改 .val
那么这将更改显示给用户的文本。单击按钮后,我还禁用了这些按钮,因为我想这是您情况下的预期行为(即用户必须等待转换完成)。
完成后,如果需要,您可以 re-enable 按钮 .attr("disabled", "false")
N.B。 id
应该是唯一的,因此您应该尽可能更改按钮的 ID。
演示
// Add click event to the inputs with class .go-button
$("input[name='go-button']").click( function() {
// Change the text of the button, and disable
$(this).val("Converting").attr("disabled", "true");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<tr data-index="0">
<td><input type="submit" id="go-btn" name="go-button" value="Go" data-id="0" class="go-btn btn btn-outline-primary">
</td>
</tr>
<tr data-index="1">
<td><input type="submit" id="go-btn" name="go-button" value="Go" data-id="1" class="go-btn btn btn-outline-primary">
</td>
</tr>