我有一个动态的商品表,每个商品旁边都有复选框。当用户选择一个复选框时,我想抓住"名称"表中的项目并将其添加到文本框中。见图:
我试图实现这一目标的方法是添加一个"更改"事件到每个复选框并填充它"数据名称"元素与文本的名称。
<tbody>
@foreach (var item in Model.Items)
{
<tr>
<td><input type="checkbox" name="selectBox" data-name="@item.Name" /></td>
&#13;
正如您所看到的,我使用项目名称填充数据名称作为直接拉动它的方式(我不知道该怎么做)。现在在javascript / jquery中我将事件绑定到每个复选框并尝试使用以下代码获取数据元素:
$('input[name=selectBox]').change(function (item) {
var text = $(item).attr('data-name');
});
&#13;
当代码运行时,事件将针对所有复选框触发,但是&#34; text&#34;当我希望它是名称数据时,它是未定义的。
寻找我的方法的答案和/或更好的方法,包括一起跳过数据元素并直接获取名称值。谢谢你的期待。
答案 0 :(得分:3)
在您的情况下base::as.Date.numeric
function (x, origin, ...)
{
if (missing(origin))
stop("'origin' must be supplied")
as.Date(origin, ...) + x
}
<bytecode: 0x17190e78>
<environment: namespace:base>
zoo::as.Date.numeric
function (x, origin, ...)
{
if (missing(origin))
origin <- "1970-01-01"
if (identical(origin, "0000-00-00"))
origin <- as.Date("0000-01-01", ...) - 1
as.Date(origin, ...) + x
}
<environment: namespace:zoo>
事件对象不是item
,您可以通过事件属性获取元素currentTarget
DomElement
或使用$('input[name=selectBox]').change(function (item) {
var text = $(item.currentTarget).attr('data-name');
});
,因为this
引用了当前元素,它与前面的示例相同但更短
this
答案 1 :(得分:3)
试试这个:
<?php
$von = $_GET['datumvon'];
$bis = $_GET['datumbis'];
$frei =0;
$DB_server = "localhost";
$DB_name = "dbterminkalenderha";
$DB_user = "root";
$DB_password = "root";
$server = mysqli_connect($DB_server, $DB_user, $DB_password);
$connection = mysqli_select_db($server, $DB_name);
$myquery = $server->prepare("SELECT T_Datum,T_Frei FROM t_terminslots WHERE (T_Datum Between ? AND ?) AND (T_Frei = ?); ");
$myquery->bind_param("ssi",$von,$bis,$frei);
$myquery ->execute();
//$query = mysqli_($myquery);
if ( ! $myquery ) {
echo mysqli_error();
die;
}
$data = array();
for ($x = 0; $x < mysql_num_rows($myquery); $x++) {
$data[] = mysqli_fetch_assoc($myquery);
}
echo json_encode($data);
mysqli_close($server);
?>
var text = $(this).data('name');
函数的第一个参数是change
,而不是元素本身。此外,jQuery会自动将函数范围(event
)设置为要更改的元素。