function edt(dt){
isi = $(".jml").val();
alert(isi);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<tr>
<td><input class="jml" id="edt1" value="1"/></td>
<td><button id="edt1" onClick="edt(this.id);">btn 1</button></td>
</tr>
<tr>
<td><input class="jml" id="edt1" value="2"/></td>
<td><button id="edt2" onClick="edt(this.id);">btn 2</button></td>
</tr>
我正在尝试从与我单击的 ID 相同的 ID 中获取值(value)。 在那个脚本中,尽管我点击了 btn 2,但出现了 first 的值 请帮助我..谢谢!
最佳答案
您的代码中存在多个问题,
- 虽然您将
id
传递给edt
但您并未使用它 isi = $(".jml").val();
将始终返回类为jm1
的第一个元素的值
一个更像 jQuery 的解决方案是
- 使用 jQuery 事件处理程序,使用按钮类为所有按钮添加处理程序
- 在处理程序中,您可以使用
this
上下文在同一行中查找input
元素 - 然后读取它的值
jQuery(function($) {
$('.edt').click(function() {
var isi = $(this).closest('tr').find('.jml').val();
console.log('value: ' + isi)
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<tr>
<td>
<input class="jml" id="edt1" value="1" />
</td>
<td>
<button class="edt">btn 1</button>
</td>
</tr>
<tr>
<td>
<input class="jml" id="edt1" value="2" />
</td>
<td>
<button class="edt">btn 2</button>
</td>
</tr>
</table>
如果您不能使用 jQuery 事件处理程序,那么
<button class="edt" onclick="edt(this)">btn 2</button>
function edt(el) {
var isi = $(el).closest('tr').find('.jml').val();
console.log('value: ' + isi)
}
function edt(el) {
var isi = $(el).closest('tr').find('.jml').val();
console.log('value: ' + isi)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<tr>
<td>
<input class="jml" id="edt1" value="1" />
</td>
<td>
<button class="edt" onclick="edt(this)">btn 1</button>
</td>
</tr>
<tr>
<td>
<input class="jml" id="edt1" value="2" />
</td>
<td>
<button class="edt" onclick="edt(this)">btn 2</button>
</td>
</tr>
</table>
关于javascript - 使用javascript从另一个id获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38780367/