0

私のページには、次のようなラベルがあります。

ContentPlaceHolder1_gvGroups_lblName_0

対応する:

ContentPlaceHolder1_gvGroups_lblHidden_0

*lblNameには対応する*lblHiddenがあると断言できます。

今、私はいくつかのjsを持っています:

//use to make any label with 'edit' class editable
function makeLabelsEditable() {

    $(".edit").focusout(function () {
        setLabel(this);
    });

    $(".edit").click(function () {
        editLabel(this);
    });
}

//used to edit labels
function editLabel(source) {
    source.innerHTML = '<input type="text" maxlength="40" value="' + source.innerHTML + '"/>';
    $(source).unbind('click');
    source.children[0].focus()
}

//used to edit labels
function setLabel(source) {

    if (source.children[0].value != '') {
        $(source).click(function () {
            editLabel(this);
        });
        source.innerHTML = source.children[0].value;
    }

}

クラス編集でマークされたものはすべて有効であると断言できます。

このコードを次のように変更する必要があります://ラベルの編集に使用

function setLabel(source) {

    if (source.children[0].value != '') {
        $(source).click(function () {
            editLabel(this);
        });
        source.innerHTML = source.children[0].value;
        var hidden = someHowGetHiddenFromSource(source);
        hidden.innerHTML = source.children[0].value;
    }

}

私はこれが可能であると確信しています、私はただ方法がわかりません。

基本的に、次のようになります。

getElementByID(replace(source.id,'lblName','lblHidden'));

JS/JQ関数で何ができるのかわかりません。

ありがとう

4

1 に答える 1

0

基本的に、次のようになります。 getElementByID(replace(source.id,'lblName','lblHidden'));

それはほぼ正確です。これは:

var hidden = document.getElementById(source.id.replace('lblName', 'lblHidden'));

hiddenDOM要素になります。

またはjQueryを使用する:

var hidden = $("#" + source.id.replace('lblName', 'lblHidden'));

hidden要素をラップするjQueryインスタンスになります。

DOM要素のidプロパティは文字列です。JavaScript文字列にはreplace、単純な場合、置換する文字列と置換文字列を受け入れる関数があります。(それだけではありませんが、この場合に必要なのはそれだけです。)

于 2013-02-06T16:36:25.830 に答える