2016-05-17 49 views
1

我需要一个help.i从我的数据库中获取数据,我需要当数据已经获取一个Javascript函数将通过onChange事件调用。让我解释我的代码。如何使用JavaScript和PHP动态触发onChange事件

<?php 
    $id=$_GET['ids']; 
    if($id!=""){ 
    $getcustomerobj = $dbobj->getFeedbackData($db,$id); 
    } 
?> 

    <div style="width:24%; float:left; padding:10px;">Answer Type : 
<select class="form-control" id="answer_type" name="answer_type" onChange="selectScale(this.value);"> 
<option value="">Select Answer Type</option> 
<?php 
$ustatus=array("status"=>'1'); 
$feeddata=$db->kf_answertype->find($ustatus); 
foreach($feeddata as $v){ 
?> 
<option value="<?php echo $v['_id']; ?>" <?php if($getcustomerobj->answer_type == $v['_id'] or $_REQUEST['answer_type'] == $v['_id']){ print 'selected'; } ?>><?php echo $v['answertype']; ?></option>       
<?php } ?> 
</select> 
</div> 
<div style="width:24%; float:left; padding:10px; display:none;" id="scaleid">Scale : 
<select class="form-control" id="nscale" name="noofscale"> 
<option value="">Select No Of Scale</option> 
<?php 
$status=array("status"=>'1'); 
$feeddata=$db->kf_scale->find($ustatus); 
foreach($feeddata as $v){ 
?> 
<option value="<?php echo $v['_id']; ?>" <?php if($getcustomerobj->no_of_scale == $v['_id'] or $_REQUEST['no_of_scale'] == $v['_id']){ print 'selected'; } ?>><?php echo $v['noofscale']; ?></option>       
    <?php } ?> 
    </select> 
</div> 

<script> 
    function selectScale(id){ 
    console.log('select scale',id); 
    var data=$.param({'op':'getscale','sid':id}); 
    $.ajax({ 
     method:'POST', 
     url:"dbcon/DBConnection.php", 
     data:data 
    }).done(function(msg){ 
     //console.log('msg',msg); 
     var dedata=JSON.parse(msg); 
     //console.log('decode',dedata); 
     if(dedata[0]['data']==1){ 
      document.getElementById("scaleid").style.display="block"; 
     } 
     if(dedata[0]['data']==0){ 
      document.getElementById("scaleid").style.display="none"; 
     } 
    }); 
} 
</script> 

这里当数据从数据库获取的Answer Type下拉字段将与一些value.As设置第二个下拉列表(即 - Scale)是我需要依赖于第一个下拉,我需要调用selectScale使用onChange事件触发的函数。请帮助我。

+0

'的onChange(其他城市功能)'事件可以像这样手动触发,'$('#answer_type')。change()'。这将调用answer_type下拉菜单的更改事件。 – dreamweiver

+0

我将如何在PHP中执行此操作。我的要求是当用户使用'$ getcustomerobj = $ dbobj-> getFeedbackData($ db,$ id)获取数据;'该函数应该调用。 – satya

+0

PHP是服务器端,Javascript是客户端。你不能从PHP调用Javascript。它反过来工作。 – aifrim

回答

0

我认为你可以在文档准备就绪的第一个下拉菜单上调用onchange事件,所以根据这个,你的第二个下拉值将被选中。

$(document).ready(function(){ 
    $("#answer_type").trigger("change"); 
    }); 

可能对您有帮助。

0

正如我也明白了,你所需要的仅仅是这一行添加到您的Java脚本

selectScale($('#answer_type').val()); 

而且这个解决方案可以工作,通过触发使用jQuery

$("#answer_type").trigger("change"); 
+0

@ SamyMassoud:这里我需要假设'Answer Type'下拉菜单使用'< ?php if($ getcustomerobj-> answer_type == $ v ['_ id']或$ _REQUEST ['answer_type'] == $ v ['_ id']){print'selected'; }?>><?php echo $ v ['answertype']; ?> <?php}?'给定的函数应该自动调用。 – satya

相关问题