2016-05-17 73 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

相關問題