Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 如何将id值传递给函数?_Php_Jquery_Html - Fatal编程技术网

Php 如何将id值传递给函数?

Php 如何将id值传递给函数?,php,jquery,html,Php,Jquery,Html,如何将id值传递给函数? 我正在做的是,当用户更改下拉列表时,它将获得下拉列表的值,并且还将获得隐藏在foreach中的输入值 我试着从我这边开始更改下拉列表中的值,但是如何在jquery中获得输入值呢?现在我得到输入字段的最后一个值 $x=1; foreach ($duration as $row) {?> <input type="hidden" name="activeID" id="activeID<?php echo $x;?>" value="<

如何将id值传递给函数? 我正在做的是,当用户更改下拉列表时,它将获得下拉列表的值,并且还将获得隐藏在foreach中的输入值

我试着从我这边开始更改下拉列表中的值,但是如何在jquery中获得输入值呢?现在我得到输入字段的最后一个值

 $x=1;
 foreach ($duration as $row) {?>
  <input type="hidden" name="activeID" id="activeID<?php echo $x;?>" value="<?php echo $row->activity_name_id;?>">
 <select name="Duration<?php echo $x;?>"  class="form-control" id="Duration<?php echo $x;?>">
     <option selected disabled >Select year</option>    
     <option value="12m" <?php if($row->Duration  == '12m' ){ echo 'selected="selected"'; } ?>>1 Year</option>
     <option value="6m" <?php if($row->Duration  == '6m' ){ echo 'selected="selected"'; } ?>>6 months</option>
  </select>
<div id="results<?php echo $x;?>"></div>

    <?php $x++;}
$(“.select”).change(函数(){
警报(“选择框的Id为”+此.Id);
警报(“选择框的值为”+this.Value);
});

引导示例
表单控件:选择
下表包含两个下拉菜单(选择列表):

选择列表(选择一个): 1. 2. 3. 4. 选择列表销售项目(选择一个): 汽车 自行车 周期 汽车
我在您的代码中观察到一件事:

$x=1;
 foreach ($duration as $row) {
  <input type="hidden" name="activeID" id="activeID<?php echo $x;?>" value="<?php echo $row->activity_name_id;?>">
 <select name="Duration<?php echo $x;?>"  class="form-control" id="Duration<?php echo $x;?>">
     <option selected disabled >Select year</option>    
     <option value="12m" <?php if($row->Duration  == '12m' ){ echo 'selected="selected"'; } ?>>1 Year</option>
     <option value="6m" <?php if($row->Duration  == '6m' ){ echo 'selected="selected"'; } ?>>6 months</option>
  </select>
<div id="results<?php echo $x;?>"></div>
    }
$x=1;
foreach($行的持续时间){


您可以将
输入
选择
放入
div
中。当下拉列表更改时,获取
输入
同级

<?php
$x=1;
foreach ($duration as $row) {
?>
  <div>
    //Your input and select here
  </div>
<?php   } ?>


<script>

$('[id^="Duration"]').change(function () {
   var input = $($(this).siblings("input")[0]); // get the input element
   var id = input.attr("id"); //id of the input
   var value = input.val(); //value of the input
   alert(value);
});
</script>

//您的输入和选择在这里
$('[id^=“Duration”]')。更改(函数(){
var input=$($(this).sibbines(“input”)[0]);//获取输入元素
var id=input.attr(“id”);//输入的id
var value=input.val();//输入的值
警报(值);
});

您可以在代码的HTML部分使用onchange事件

$x=1;
 foreach ($duration as $row) {?>
  <input type="hidden" class="activeID" name="activeID" id="activeID<?php echo $x;?>" value="<?php echo $row->activity_name_id;?>">
 <select name="Duration<?php echo $x;?>" onchange="myfunction();" class="form-control" id="Duration<?php echo $x;?>">
     <option selected disabled >Select year</option>    
     <option value="12m" <?php if($row->Duration  == '12m' ){ echo 'selected="selected"'; } ?>>1 Year</option>
     <option value="6m" <?php if($row->Duration  == '6m' ){ echo 'selected="selected"'; } ?>>6 months</option>
  </select>
<div id="results<?php echo $x;?>"></div>

    <?php $x++;}


尝试使用
$(this)
在何处使用该元素?选择在foreach中???我建议将
选择
输入
放在相同的
div
中,然后在更改下拉列表时,获取
同级()
@sradha,是的,您可以检查问题。选择和输入字段都在foreach中。当然,谢谢:)是我的错,我忘了添加问题。我添加了问题。在视图源代码中,我得到了“activeId1”或“activeId2”等等。如果我尝试var selectID=$(this.attr('id'));然后它只显示下拉Id而不是输入值。忘记这一行,用户var value=$(this).val();这些返回到当前下拉选择值。我不想要当前下拉选择值。我已经得到了它。catcon,answer解决了我的问题。我想你必须再次检查我的代码,你编辑了我的代码并删除了$x++还删除了foreach之后的PHP标记。同样,在你的回答中,你没有使用输入字段。我有输入foreach中的字段,我需要该值。我刚刚给出了jquery的示例。这不是我的问题,但感谢您的回答,jquery已经在我的代码中共享了它,并且它正在工作。我需要在jquery中输入字段值,也就是说,不在您的答案中。感谢您的回答,在选择下拉列表后,我在控制台中得到了一个错误“TypeError:$(…).sibbines(…)[0].val不是函数“它给了我一个错误”TypeError:input.attr不是函数“@user9437856:对不起,我的错,兄弟姐妹们()[0]返回一个html元素,我必须将其解析为jquery对象。我更新了代码,请再试一次!是的,我终于得到了输出。@catcon,谢谢你的回答并理解我的问题。我只想知道“div”"。如果我在jquery中添加的div比我应该使用的多一个div?逻辑是一样的,你把
放在警报中,我只是想知道它将如何在警报中显示输入字段值?@user9437856好的,我刚才在警报中显示了值和id。你可以删除id部分。@user9437856好的,我得到了你想要的,试试上面的代码告诉我你得到了什么输出。
<?php
$x=1;
foreach ($duration as $row) {
?>
  <div>
    //Your input and select here
  </div>
<?php   } ?>


<script>

$('[id^="Duration"]').change(function () {
   var input = $($(this).siblings("input")[0]); // get the input element
   var id = input.attr("id"); //id of the input
   var value = input.val(); //value of the input
   alert(value);
});
</script>
$x=1;
 foreach ($duration as $row) {?>
  <input type="hidden" class="activeID" name="activeID" id="activeID<?php echo $x;?>" value="<?php echo $row->activity_name_id;?>">
 <select name="Duration<?php echo $x;?>" onchange="myfunction();" class="form-control" id="Duration<?php echo $x;?>">
     <option selected disabled >Select year</option>    
     <option value="12m" <?php if($row->Duration  == '12m' ){ echo 'selected="selected"'; } ?>>1 Year</option>
     <option value="6m" <?php if($row->Duration  == '6m' ){ echo 'selected="selected"'; } ?>>6 months</option>
  </select>
<div id="results<?php echo $x;?>"></div>

    <?php $x++;}
function myfunction () {
  alert($(this).parent()); //what are you getting
  alert($(this).parent().find(".activeID").value()); //what are you getting?
  alert("Id of the select box is "+ this.id);
  alert("Value of the select box is "+this.value );
    };