私はこのように各行ごとにRadioButtonを持つJqGridを持っています。jqGridラジオボタン一行を選択
ラジオフォーマッタのための...
{ name: 'select', label: 'select', width: 50, formatter:radio}
と機能:
function radio(value, options, rowObject){
var radioHtml = '<input type="radio" value=' + value + ' name="radioid" />';
return radioHtml;
}
私はjqgrid i.ee.からSINGLEROWを選択しようと、これだけの機能を使用して、選択されたラジオボタン:
$(function() {
$("#<%=editButton.ClientID%>").click(function() {
var ids = $("#table").jqGrid('getCol', 'select', true);
alert(ids)
for (var i = 0; i < ids.length; i++) {
//alert(ids[i].id)
if (ids[i].id != '') {
var idx = $("#table").jqGrid('getCell', ids[i].id, 'select');
}
// alert(idx);
}
});
});
選択した単一の行ではなく、グリッド内のすべての行を使用可能にしています。
フォーマッタがチェックボックスで、ラジオでは機能しない場合、同じ機能がうまく機能します。何か不足していますか?
UPDATE:
colModel: [
{ name: 'select', label: 'select', width: 50,
formatter: function radio(cellValue, option) {
return '<input type="radio" name="radio_' + option.gid + '" />';
}
},
{ name: 'code', label: 'Branch Code', width: 250 },
{ name: 'name', label: 'Branch Name', width: 250 },
{ name: 'status', label: 'Group Status', width: 250 },
],
機能クリックハンドラ:
$("#<%=editButton.ClientID%>").click(function() {
alert('M');
var $selRadio = $('input[name=radio_' + $table[0].id + ']:checked'), $tr;
alert('I');
if ($selRadio.length > 0) {
$tr = $selRadio.closest('tr');
if ($tr.length > 0) {
alert("The id of selected radio button is " + $tr.attr('id'));
}
} else {
alert("The radio button is not selected");
}
});
こんにちはオレグ、ノー成功このラインありえ実行するvar $ selRadio = $( '入力[名前= radio_' + $表は[0] .ID + ']:チェックする')、$ TR; "テーブル"は私のグリッドIDです。 –
@サミュエル:「この行は実行されていません」という意味ですか?クリックハンドルが呼び出されないか、行内で例外が発生するか '$ selRadio'が常に' length' = 0のオブジェクトを返しますか?どのフォーマッターを使った?ラジオボタンの 'name'に' option.gid'を含めましたか?私のデモと若者を正確に比較する必要があります。私のデモはあなたの環境で使えますか?それが仕事であれば、あなたのコードとの違いを見つけてください。 – Oleg
こんにちはオレグさん、あなたの言葉を変更して私の質問を更新しました。コードは、上記の行の後にno exception、noundefined valueの後に実行されません。私はちょうどラインの前後に簡単な警告を置いたということです。 –