0

私はhtmlテーブルを持っています.最初の列はチェックボックスのリストです(テーブルの行と同じ数)id="checkbox1", "checkbox2", "checkbox3"....ボタンをクリックすると(id="modifyLink")、最初にチェックされたチェックボックスを見つける必要があります(最初の後にすべて)、モーダル(id="modModal")を開き、phpページをロードして、チェックボックスの値を投稿します。

これは私が出てきたものです(明らかに機能していません):

$function(){
    $("#modifyLink").click(function(){
        var checkbox = 'checkbox1';
        for(var i=2; getElementById(checkbox).checked == 1; i++){
            checkbox = 'checkbox'.i;
        }
        if(getElementById(checkbox)==true){
            var id = getElementById(checkbox).val();
            $(#modModal).modal('show');
            $(#modModal).innerhtml = 'load my modal with index.php/trainings/mod passing the id variable possibly in POST';
        });
};

私がこれについて完全に間違っている場合、誰かが完全に異なることを提案できますか?

編集:

わかりました、私はこれについてもう少し勉強して、これに行きました:

$(function() {  
  $("#trainingRow").click(function() {  
    var id = $("#trainingRow").attr('data-value');  
    var dataString = 'id='+ id;
    $.ajax({  
        type: "POST",  
        url: "/index.php/trainings/showDetail",  
        data: dataString, 
        dataType: 'json',
        success: function(data) {  
            $("div#detailModal").html(data.html);
            $("div#detailModal").modal('show');
        }  
    });
    return false;
  });  
});

しかし、div#detailModal html が更新されないのはなぜですか? PHP関数がvar_dumpを介して返すものと、まさに興味のあるHTMLコードを確認しましたが、なぜそれが機能しないのかわかりません(返された変数はhtmlと呼ばれ、phpですべてをjson_encodeする前に返してください)。ヘッドアップはいいでしょう、私は少し読んで遠くまで行ったと思います:)

4

3 に答える 3

0

「myCheckboxClass」など、すべてのチェックボックスにクラスを割り当てることができる場合は、これをはるかに簡単に行うことができます。次に、必要なのはこれだけです:

$function(){
    $("#modifyLink").click(function(){
        var checkedBox = $(".myCheckboxClass:checked").first();
        var val = checkedBox.val();
        $(#modModal).modal('show');
        $(#modModal).innerhtml = 'load my modal with index.php/trainings/mod passing the id variable possibly in POST';
        });
};

または、「myTableId」などのテーブルの ID がわかっている場合は、同様の選択を行うことができます。var checkedBox行を次のように置き換えるだけです。

var checkedBox = $("#myTableId input:checkbox:checked).first();
于 2013-09-23T19:30:54.443 に答える