我试图仅在已检查其中的复选框的父级上触发父div的点击。我不能使用'this',因为这会让'.choose-plain'触发点击它。有没有办法在if语句中使用this而不是click?
function addProductImage($ProductId, $ImageUrl){
$url = $this->url.'api/images/products/'.$ProductId;
/**
* Uncomment the following line in order to update an existing image
*/
//$url = 'http://myprestashop.com/api/images/products/1/2?ps_method=PUT';
if(class_exists('CURLFile')) {
$cfile = new CURLFile(realpath($ImageUrl));
//$cfile->setPostFilename("image.jpg");
}
else
$cfile = '@'.realpath($ImageUrl);
$postFields = array(
'image' => $cfile,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:multipart/form-data','Expect:'));
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
//curl_setopt($ch, CURLOPT_PUT, true); //edit
curl_setopt($ch, CURLOPT_USERPWD, $this->key.':');
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$this->addProductImage(1, '/path/image/test.jpg');
的HTML / PHP
$('.choose-plain').click(function(){
if ($('.option-other').is(':checked')) {
$(the parent div of the if statement only if .option-other is checked).trigger( "click" );
}
});
因为隐藏了复选框,我必须触发父div的点击,在我的jquery的另一部分触发该框以检查或取消选中。
答案 0 :(得分:0)
根据您的标记,您有一个无效的标记,因为您在多个div上应用了相同的ID。 每个元素的ID都应该是唯一的 。
您可以使用:
$('.choose-plain').click(function(){
var chcked = $(this).find(':checkbox').prop('checked');
$('.option-other').prop('checked', !chcked);
});