0

ルックアップのキー フィールドとして、先行ゼロを持つ可能性のある varchar(10) 値を読み込んでいます。グリッドでは、値は先行ゼロとともに表示されます。キー値が select を介して関数に渡されると、ゼロが欠落します。

        gridComplete: function () {
        var ids = jQuery("#grdProductGrid").jqGrid('getDataIDs');
        for (var i = 0; i < ids.length; i++) {
            var cl = ids[i];
            var rowId = $("#grdProductGrid").getRowData(cl);
            be = "<a href='#'>Product</a >";
            be = "<a href='#' onclick='GetProduct(" + rowId['ID'] + ")'>Product</a >";

GetProduct 関数に到達すると、先頭のゼロがありません。

選択をロードするときに欠けている文字列関数はありますか? それともここで何か他のことをするべきですか

4

1 に答える 1

0

ID を文字列として に渡していませんGetProduct

be = "<a href='#' onclick='GetProduct(" + rowId['ID'] + ")'>Product</a >";次のようなリンクが生成されます。

<a href='#' onclick='GetProduct(000123)'>Product<a/>

000123 は文字列リテラルではないため、javascript はそれが数字であると考えています。リンクを作成するときにこれを試してください:

be = "<a href='#' onclick='GetProduct(\"" + id + "\")'>Product</a >";

\"の括弧の内側を追加しましたGetProduct。これにより、次のようなリンクが生成されます。

<a href='#' onclick='GetProduct("000123")'>Product<a/>

この Fiddle を参照してください: http://jsfiddle.net/gromer/deSGV/ (コンソールへの出力)。

于 2012-10-30T19:39:26.907 に答える