0

这是我的 JavaScript 代码:

function selectRow(objTR) {
    for (i = 0; i < ddlModalityList.options.length; i++) {
        if (ddlModalityList.options[i].text == objTR.cells[1].innerText.trim()) break;
    }

    ddlModalityList.options[i].selected = true;
    txtSSAETitle.value = objTR.cells[2].innerText.trim();
    txtSSName.value = objTR.cells[3].innerText.trim();
}

这是中继器代码。在行单击时,我正在传递 tr 的 id 并在相应的下拉列表和文本框中显示相应的 td 值。此代码在 IE 中运行良好,但在 Mozilla Firefox 中失败。

<tr onclick="selectRow(this);">   
    <td class="csstablelisttd" style="display: none;" >
        <%#Eval("Acq_Modality_ID")%>
    </td>                     
    <td class="csstablelisttd" >                            
        <asp:Label ID="lblModality" runat="server" Text='<%#Eval("Modality")%>'></asp:Label>
    </td>

    <td class="csstablelisttd">
        <asp:Label ID="lblSchdledStAETitle" runat="server" Text='<%#Eval("Scheduled_Station_AE_Title")%>'></asp:Label>
    </td>
    <td class="csstablelisttd">
        <asp:Label ID="lblSchdleStationAEName" runat="server" Text='<%#Eval("SCHEDULED_STATION_NAME")%>'></asp:Label>
    </td>
</tr>
4

5 回答 5

7

火狐不支持innerText。你可以textContent改用。但是,较旧的 IE 不支持textContent,因此您需要使用一个并回退到另一个。

function getInnerText(el) {
    return el.textContent || el.innerText;
}

请注意,它们并不相同,但出于您的目的,它会很好。

于 2012-05-03T09:53:25.960 回答
2

使用innerHTML而不是innerText。InnerText 在 FF 中不起作用。innerHTML 对它们都有效。

http://forums.asp.net/p/1228392/2210082.aspx

于 2013-01-12T05:00:15.077 回答
1

Firefox 不支持 innerText ..you should use jquery所以你不需要关心浏览器实现的差异
所以使用 jquery 你的代码将是

function selectRow(objTR) {
    for (i = 0; i < ddlModalityList.options.length; i++) {
        if (ddlModalityList.options[i].text == $(objTR).children('td').eq(1).html().trim()) break;
    }

    ddlModalityList.options[i].selected = true;
    txtSSAETitle.value = $(objTR).children('td label').eq(2).html().trim();
    txtSSName.value = $(objTR).children('td label').eq(3).html().trim();
}

我离开ddlModalityList它是因为我不知道它是什么。

于 2012-05-03T09:55:49.077 回答
0

document.getElementById('InputText').innerHTML.replace(/<.+?>/gim,''));

于 2013-10-23T03:42:13.360 回答
0
function selectRow(objTR) {
    for (i = 0; i < ddlModalityList.options.length; i++) {
        if (ddlModalityList.options[i].text == $(objTR).children('td').eq(1).html().trim()) break;
    }

    ddlModalityList.options[i].selected = true;
    txtSSAETitle.value = $(objTR).children('td label').eq(2).html().trim();
    txtSSName.value = $(objTR).children('td label').eq(3).html().trim();
}
于 2012-05-31T11:45:06.193 回答