Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Jquery检查元素是否存在以及是否存在条件_Php_Javascript_Jquery - Fatal编程技术网

Php Jquery检查元素是否存在以及是否存在条件

Php Jquery检查元素是否存在以及是否存在条件,php,javascript,jquery,Php,Javascript,Jquery,我有这样的代码: <?php if ($this->session->userdata('permission') == 4 || $this->session->userdata('permission') == 3) : ?> <select name="caffe" id="caffe"> <?php foreach($caffe as $key) : ?>

我有这样的代码:

<?php if ($this->session->userdata('permission') == 4 || $this->session->userdata('permission') == 3) : ?>
            <select name="caffe" id="caffe">
                <?php foreach($caffe as $key) : ?>
                <option value="<?php echo $key['id_caffe'] ?>"><?php echo $key['name'] ?></option>
                <?php endforeach; ?>
            </select>
            <div id="gll_select">
                <script>
                 var caffe = $("#caffe").val();
                 var cff_name = $("#caffe option:first").text();
                 $("#gll_select").load("<?php echo base_url() ?>form/galleries", {id : caffe}, function(){                 
                          $("#gll").on('change', function(){
            var cff_name  = $("#caffe option:selected").text();
            get_gallery(cff_name);
            console.log(cff_name);
        }); 
                 });  
                </script>
            </div>

            <?php else : ?>

            <input type="hidden" name="caffe_name" id="caffe_name" value="<?php echo $caffe_name ?>" />
            <input type="hidden" name="caffe_id" id="caffe_id" value="<?php  if(isset($caffe_id)) echo $caffe_id; ?>" />
            <div id="gll_select">
                <?php if (isset($gallery)) : ?>
            <select name="gll" id="gll">
        <?php foreach ($gallery as $key) : ?>
            <option value="<?php echo $key['id_gallery'] . " " . $key['name'] ?>"><?php echo $key['name'] ?></option>
        <?php endforeach; ?>
            <?php endif; ?>
            </select>
            </div>

            <?php endif ?> 
if ($("#caffe".length)){var cff_name = $("#caffe option:first").text(); }
    else{var cff_name = $("#caffe_name").val();}
问题如下-第一条语句始终为真(#caffe如果
PHP如果语句为假则不存在)。有什么问题吗?

应该是

if ($("#caffe").length) { ... }
您的代码:

if ($("#caffe".length)) { ... }
获取字符串常量的长度并将其传递给jQuery。对jQuery主函数($)的调用总是会得到一个非空的结果,因此在
if
语句中将其转换为布尔值的结果总是true

当您测试通过搜索选择器返回的jQuery对象的
.length
属性时,您正在检查该数字是否为非零。

应为

if ($("#caffe").length) { ... }
您的代码:

if ($("#caffe".length)) { ... }
获取字符串常量的长度并将其传递给jQuery。对jQuery主函数($)的调用总是会得到一个非空的结果,因此在
if
语句中将其转换为布尔值的结果总是true


当您测试通过搜索选择器返回的jQuery对象的
.length
属性时,您正在检查该数字是否为非零。

我想我看到了问题

if ($("#caffe").length){var cff_name = $("#caffe option:first").text(); }

.length
不是选择器的一部分,它是包装集的一个属性。

我想我看到了问题

if ($("#caffe").length){var cff_name = $("#caffe option:first").text(); }

.length
不是选择器的一部分,它是包装集的一个属性。

$(“#caffe.length”)更改为
$(“#caffe”)。length
$(“#caffe.length”)更改为
$(“#caffe”)。length.length
将返回
6
,因为字符串长度为6个字符。因此,如果($(6))
“#caffe”,则有效地执行
。length
将返回
6
,因为字符串长度为6个字符。因此,如果($(6))
,您可以有效地执行
。从技术上讲,这不是语法错误。语法是有效的,但这不是OP想要做的。True-
$(“#caffe.length)
$(6)
相同,这与Sasha的想法不完全一致。从技术上讲,这不是语法错误。语法是有效的,但这不是OP想要做的。True-
$(“#caffe.length)
$(6)
相同,这不是Sasha想要的。