0

次のように 3 つのフィールドが配置されたテーブルの行があります。

Job            Pay Grade       Cost
<Select>       <Select>        <Calculation>

上記の情報を含む SQL テーブルがあります。たとえば、次のようになります。

Job            Pay Grade       Cost
Techie         1               100
Techie         2               200
Engi           2               300
Engi           3               400
Engi           4               500

私がする必要があるのは、ドロップダウンからジョブを選択できるようにすることです。その後、SQL データベース内のそのジョブと一致するものに応じて、給与グレードの選択ボックスが変わります。次に、選択したものに関連するコストが表示されます。

少し行き詰まっているのでどうすればいいですか

4

2 に答える 2

1

$.ajax を介して選択ジョブを投稿し、成功関数で次のようにドロップダウン リストに入力する必要があります。

function selectHandler (event, ui)
        {
        var id = event.target.id;
        $.ajax({
                type: "POST",
                url: "/php/get_quantity_type.php",
                dataType:"json",
                data: { ingridient : ui.item.value},
                success: function(data){$("#"+id+"_t").empty(); $.each(data,function(index,value) {$("#"+id+"_t").append('<option value="' + value + '">' + value + '</option>');})}
                });
        } 

この例では、選択リストからマテリアルの名前を取得し、$ajax() を介して php スクリプトに投稿し、イベントをトリガーした ID に基づく ID を持つ新しいドロップダウン リストに書き込みます。PHPコードが必要な場合は、お問い合わせください:)

上記のイベント ハンドラーにジョブ リストをバインドします。

("#job_list").bind("select",selectHandler);

このコードは、データを「/php/get_quantity_type.php」に投稿し、結果を success 属性で宣言された関数に渡します。

于 2012-10-23T10:33:56.133 に答える
1

役職が選択されたら、最初に ajax リクエストを作成します。リクエストの成功コールバック内で、サーバーからの JSON レスポンスから選択した有料グレードのオプションの html が生成されます

jQuery

$('select.jobTitle').change(function(){
    var $titleSelect=$(this);
    $.getJSON('processJobGrades.php', { jobTitle : $(this).val() }, function(response){
        var gradesOptionsHtml=''; 
        /* create options html from json response */
        $.each( response, function(i, item){
            gradesOptionsHtml+='<option value="'+item.grade+' data-cost="'+item.cost+'">'+item.grade+'</option>';
        });  
         $titleSelect.parent().find('select.jobGrade').html(gradesOptionsHtml);       
    });   
});

INprocessJobGrades.php受け取り$_GET['jobTitle']ます。DBルックアップを行い、jsonを作成して送り返します。

PHP

$outputArray=array();

/*in loop over DB data:*/
$outputArray[]= array( 'grade'=>$row['grade'], 'cost'=>$row['cost']);

/*Output final array as JSON*/
echo json_encode( $outputArray);

paygrade select to get の jQuery 変更ハンドラーcost

$('select.jobGrade').change(function(){
     var cost=$(this).find(':selected').data('cost')
     $(this).parent().find('input.jobCost').val( cost);
})
于 2012-10-23T11:31:40.787 に答える