在if语句jquery中使用此父级

时间:2016-02-11 09:49:48

标签: javascript jquery click this

我试图仅在已检查其中的复选框的父级上触发父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的另一部分触发该框以检查或取消选中。

1 个答案:

答案 0 :(得分:0)

根据您的标记,您有一个无效的标记,因为您在多个div上应用了相同的ID。 每个元素的ID都应该是唯一的

您可以使用:

$('.choose-plain').click(function(){
     var chcked = $(this).find(':checkbox').prop('checked');
     $('.option-other').prop('checked', !chcked);
});