复选框条件无法正常工作
checkboxes condition is not working properly
我正在从这个函数获取数据,现在我想根据我的条件选中复选框,我的条件是如果我从数据库中获得值 roro
如果我得到 Vessel, Containerized
则不会检查是的将被检查。
$getDataForPDF = getDataForPDF($bookingsId, $bookingsLettersDockReceiptId);
if($getDataForPDF["typeOfMove"] == "Vessel, Containerized") {
$checkedYes = "checked";
} if($getDataForPDF["typeOfMove"] == "roro") {
$checkedNo = "checked";
}
并且我在复选框中使用了这个条件
$html .= '<tr>';
$html .= '<td colspan="3">';
$html .= '<small>11. TYPE OF MOVE</small> <br />';
$html .= $getDataForPDF["typeOfMove"];
$html .= '</td>';
$html .= '<td colspan="2">';
$html .= '<small>11a. CONTAINERIZED (Vessel only)</small> <br/>';
$html .= '<input type="checkbox" checked="'.$checkedYes.'" name="yes"> Yes <input type="checkbox" checked="'.$checkedNo.'" name="no"> No';
$html .= '</td>';
$html .= '</tr>';
我的条件是正确的,但不适用于 checked="checked"
条件。我的代码有什么问题?
你能试试吗?
$getDataForPDF = getDataForPDF($bookingsId, $bookingsLettersDockReceiptId);
if($getDataForPDF["typeOfMove"] == "Vessel, Containerized") {
$checkedYes = "checked='checked'";
} elseif($getDataForPDF["typeOfMove"] == "roro") {
$checkedNo = "checked='checked'";
}
连同:
$html .= '<input type="checkbox" '.$checkedYes.' name="yes"> Yes <input type="checkbox" '.$checkedNo.' name="no"> No';
我不确定它是否能解决您的问题,但这就是您要执行的操作,以便根据您的数据库信息选中相应的复选框。
有帮助吗?
checked 属性 很简单,只要在标签末尾加上checked即可。例如,<input type="checkbox" name="yes" checked>
将是一个复选框,如果没有选中,则取消选中。
以下代码应该可以为您解决问题:
$checkedYes = '';
$checkedNo = '';
$getDataForPDF = getDataForPDF($bookingsId, $bookingsLettersDockReceiptId);
if($getDataForPDF["typeOfMove"] == "Vessel, Containerized") {
$checkedYes = " checked";// note the space before checked
} if($getDataForPDF["typeOfMove"] == "roro") {
$checkedNo = " checked";// note the space before checked
}
$html .= '<tr>';
$html .= '<td colspan="3">';
$html .= '<small>11. TYPE OF MOVE</small> <br />';
$html .= $getDataForPDF["typeOfMove"];
$html .= '</td>';
$html .= '<td colspan="2">';
$html .= '<small>11a. CONTAINERIZED (Vessel only)</small> <br/>';
$html .= '<input type="checkbox" name="yes"'.$checkedYes.'> Yes <input type="checkbox" name="no"'.$checkedNo.'> No';
$html .= '</td>';
$html .= '</tr>';
JSFiddle:http://jsfiddle.net/o984L61e/
编辑
尝试将顶部代码块更改为:
$checkedYes = '';
$checkedNo = '';
$getDataForPDF = getDataForPDF($bookingsId, $bookingsLettersDockReceiptId);
if($getDataForPDF["typeOfMove"] == "Vessel, Containerized") {
$checkedYes = " checked='checked'";// note the space before checked
}
if($getDataForPDF["typeOfMove"] == "roro") {
$checkedNo = " checked='checked'";// note the space before checked
}
examples on tcpdf 使用 checked='checked'
属性 就像其他答案一样,但是在尝试连接 html 字符串之前必须初始化变量。正如问题中所写, $checkedYes
或 $checkedNo
将是未定义的,因为它们是在互斥的 if
块中初始化的。不确定这是否会有所作为,但似乎有道理。
TCPDF 的 writeHTML() 函数仅支持 HTML 标签的有限子集。查看 writeHTML() documentation 了解详情。 input
标签显然是不 支持的标签。
相反,您可以使用 HTML 实体来表示选中和未选中的复选框。已经有一个 Whosebug question 给出了您可以使用的可能实体的示例。
我正在从这个函数获取数据,现在我想根据我的条件选中复选框,我的条件是如果我从数据库中获得值 roro
如果我得到 Vessel, Containerized
则不会检查是的将被检查。
$getDataForPDF = getDataForPDF($bookingsId, $bookingsLettersDockReceiptId);
if($getDataForPDF["typeOfMove"] == "Vessel, Containerized") {
$checkedYes = "checked";
} if($getDataForPDF["typeOfMove"] == "roro") {
$checkedNo = "checked";
}
并且我在复选框中使用了这个条件
$html .= '<tr>';
$html .= '<td colspan="3">';
$html .= '<small>11. TYPE OF MOVE</small> <br />';
$html .= $getDataForPDF["typeOfMove"];
$html .= '</td>';
$html .= '<td colspan="2">';
$html .= '<small>11a. CONTAINERIZED (Vessel only)</small> <br/>';
$html .= '<input type="checkbox" checked="'.$checkedYes.'" name="yes"> Yes <input type="checkbox" checked="'.$checkedNo.'" name="no"> No';
$html .= '</td>';
$html .= '</tr>';
我的条件是正确的,但不适用于 checked="checked"
条件。我的代码有什么问题?
你能试试吗?
$getDataForPDF = getDataForPDF($bookingsId, $bookingsLettersDockReceiptId);
if($getDataForPDF["typeOfMove"] == "Vessel, Containerized") {
$checkedYes = "checked='checked'";
} elseif($getDataForPDF["typeOfMove"] == "roro") {
$checkedNo = "checked='checked'";
}
连同:
$html .= '<input type="checkbox" '.$checkedYes.' name="yes"> Yes <input type="checkbox" '.$checkedNo.' name="no"> No';
我不确定它是否能解决您的问题,但这就是您要执行的操作,以便根据您的数据库信息选中相应的复选框。
有帮助吗?
checked 属性 很简单,只要在标签末尾加上checked即可。例如,<input type="checkbox" name="yes" checked>
将是一个复选框,如果没有选中,则取消选中。
以下代码应该可以为您解决问题:
$checkedYes = '';
$checkedNo = '';
$getDataForPDF = getDataForPDF($bookingsId, $bookingsLettersDockReceiptId);
if($getDataForPDF["typeOfMove"] == "Vessel, Containerized") {
$checkedYes = " checked";// note the space before checked
} if($getDataForPDF["typeOfMove"] == "roro") {
$checkedNo = " checked";// note the space before checked
}
$html .= '<tr>';
$html .= '<td colspan="3">';
$html .= '<small>11. TYPE OF MOVE</small> <br />';
$html .= $getDataForPDF["typeOfMove"];
$html .= '</td>';
$html .= '<td colspan="2">';
$html .= '<small>11a. CONTAINERIZED (Vessel only)</small> <br/>';
$html .= '<input type="checkbox" name="yes"'.$checkedYes.'> Yes <input type="checkbox" name="no"'.$checkedNo.'> No';
$html .= '</td>';
$html .= '</tr>';
JSFiddle:http://jsfiddle.net/o984L61e/
编辑
尝试将顶部代码块更改为:
$checkedYes = '';
$checkedNo = '';
$getDataForPDF = getDataForPDF($bookingsId, $bookingsLettersDockReceiptId);
if($getDataForPDF["typeOfMove"] == "Vessel, Containerized") {
$checkedYes = " checked='checked'";// note the space before checked
}
if($getDataForPDF["typeOfMove"] == "roro") {
$checkedNo = " checked='checked'";// note the space before checked
}
examples on tcpdf 使用 checked='checked'
属性 就像其他答案一样,但是在尝试连接 html 字符串之前必须初始化变量。正如问题中所写, $checkedYes
或 $checkedNo
将是未定义的,因为它们是在互斥的 if
块中初始化的。不确定这是否会有所作为,但似乎有道理。
TCPDF 的 writeHTML() 函数仅支持 HTML 标签的有限子集。查看 writeHTML() documentation 了解详情。 input
标签显然是不 支持的标签。
相反,您可以使用 HTML 实体来表示选中和未选中的复选框。已经有一个 Whosebug question 给出了您可以使用的可能实体的示例。