【问题标题】:Using Jquery Highlight使用 Jquery 高亮
【发布时间】:2012-04-02 17:17:32
【问题描述】:

我在试图让这个 Jquery 突出显示在我当前的项目中工作时遇到了麻烦,我有一个文本框,当用户单击按钮时,我在 HTML 表中输入他们想要的手机号码我是 Jquery突出显示以启动并突出显示与用户输入的条件匹配的所有手机号码,但由于某种原因,它似乎不起作用也不会引发错误?!?!有人能帮助我吗。

 $('#<%= BtnFindMobile.ClientID %>').click(function () {
            var phonenumber = $('#<%= txtSearchMobile.ClientID %>').val();
            $('#grdvHandSets td.highlight').removeClass('highlight'). // Clear existing highlights
            // Find matching phonenumber fields
            find('input.phonenumber').filter(function () {
            return $(this).val() == phonenumber;
            }).
            closest('td').addClass('highlight'); // And highlight these cells
            return false;
         });

这里是html表和它的第二个TD,我想引用手机列“txtMobileNumber”,高光的CSS设置为背景色:红色;

 <span class="AddressLabel">Search Mobile:</span><asp:TextBox ID="txtSearchMobile"
                                  runat="server" MaxLength="11" Style="width: 90px !important"></asp:TextBox>&nbsp;&nbsp
                              <asp:Button ID="BtnFindMobile" runat="server" Text="Find" /></p>


<table cellspacing="0" id="grdvHandSets" style="border-collapse:collapse;">
                        <tr>
                            <th scope="col">R</th><th scope="col">MobileNumber</th><th scope="col">Type</th><th scope="col">PortingFrom</th><th scope="col">Username</th><th scope="col">Type of use</th><th scope="col">Tariff Name</th><th scope="col">Tariff Code</th><th scope="col">SOC Name</th><th scope="col">SOC Code</th><th scope="col">Contract Term</th><th scope="col">Handset Description</th><th scope="col">Phone Cover</th><th scope="col">PAC Code</th><th scope="col">Con Date</th><th scope="col">X</th>
                        </tr>
                        <tr>
                            <td>                   
                              <span id="lblRowNumber" class="gvItem">1</span>                                   
                                </td>
                                <td>
                                    <input name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$txtMobileNumber" type="text" value="07540167608" maxlength="11" id="txtMobileNumber" class="phonenumber number" />
                                </td>
                                <td>
                                    <select name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$drpType" id="drpType">
                                <option value=""></option>
                                <option value="1">New</option>
                                <option value="2">Upg</option>
                                <option selected="selected" value="3">Port</option>
                                <option value="4">Migr</option>
                                <option value="5">SOC</option>

                            </select>
                                </td><td>
                                    <select name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$drpPortingFrom" id="drpPortingFrom">
                                <option selected="selected" value=""></option>
                                <option value="Vodafone">Vodafone</option>
                                <option value="O2">O2</option>
                                <option value="Three">Three</option>
                                <option value="Orange">Orange</option>
                                <option value="TMobile">TMobile</option>
                                <option value="Virgin">Virgin</option>
                                <option value="BT">BT</option>
                                <option value="CW">CW</option>
                                <option value="Tesco">Tesco</option>

                            </select>
                                </td><td>
                                    <input name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$txtUsername" type="text" value="Jon" maxlength="100" id="txtUsername" class="handsetDetails" />
                                </td><td>
                                    <select name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$drpUseType" id="drpUseType">
                                <option value=""></option>
                                <option selected="selected" value="1">Indivi</option>
                                <option value="2">Parent</option>
                                <option value="3">Sharer</option>

                            </select>
                                </td><td>
                                    <input name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$txtTariffName" type="text" value="one net express" maxlength="100" id="txtTariffName" class="handsetDetails" />
                                </td><td>
                                    <input name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$txtTariffCode" type="text" maxlength="50" id="txtTariffCode" class="handsetDetails" />
                                </td><td>
                                    <input name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$txtSocName" type="text" maxlength="100" id="txtSocName" class="handsetDetails" />
                                </td><td>
                                    <input name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$txtSocCode" type="text" maxlength="50" id="txtSocCode" class="handsetDetails" />
                                </td><td>
                                    <select name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$drpContractTerm" id="drpContractTerm">
                                <option value=""></option>
                                <option value="60">60m</option>
                                <option selected="selected" value="36">36m</option>
                                <option value="24">24m</option>
                                <option value="18">18m</option>
                                <option value="12">12m</option>

                            </select>
                                </td><td>
                                    <input name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$txtHandsetDescription" type="text" value="9300" maxlength="200" id="txtHandsetDescription" class="handsetDetails" />
                                </td><td>
                                   <select name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$drpPhoneCover" id="drpPhoneCover">
                                <option selected="selected" value=""></option>
                                <option value="SIL">SIL</option>
                                <option value="GLD">GLD</option>
                                <option value="PLT">PLT</option>
                                <option value="DIA">DIA</option>

                            </select>
                                </td><td>
                                    <input name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$txtPACCode" type="text" value="tel 683234" maxlength="12" id="txtPACCode" class="handsetDetails" />
                                </td><td>
                                    <input name="ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$txtConDate" type="text" autocomplete="off" maxlength="10" id="txtConDate" class="date" />
                                </td><td>
                                   <a onclick="javascript:return confirm(&#39;Are you sure you want to delete this handset row 13189&#39;);" id="lnkDelete" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$MainContent$OrderTabs$tbDefaultOrder$grdvHandSets$ctl02$lnkDelete&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, true))">
                                     X</a>
                                 </td>
                        </tr>
                    </table>

【问题讨论】:

  • 回发被取消,因为我在函数末尾添加了 return false,我有一个 html 表的 ID,它是 grdvHandSets,除非你有别的意思?
  • $('#grdvHandSets td.highlight').removeClass('highlight') 选择器仅选择突出显示的 'td'。您已使用 .find() 方法将其链接起来,该方法可能不会返回任何内容...删除链应该可以...
  • 嗨,我试过你所说的,但它什么也没做?!?! iv 移除 return $(this).val() == phonenumber;
  • Iv 删除了我现在得到的单词 Find is underfined?
  • 尝试在答案中使用我的代码...

标签: jquery html highlight


【解决方案1】:

试试这个:

$('#<%= BtnFindMobile.ClientID %>').click(function () {
            var phonenumber = $('#<%= txtSearchMobile.ClientID %>').val();
            $('#grdvHandSets td.highlight').removeClass('highlight'); // Clear existing highlights
            // Find matching phonenumber fields
            $('#grdvHandSets td input.phonenumber').filter(function () {
            return $(this).val() == phonenumber;
            }).
            closest('td').addClass('highlight'); // And highlight these cells
            return false;
         });

【讨论】:

  • 非常感谢,它不工作,我想改变文本的颜色,但目前不能工作,它只会改变背景,但不能解决谢谢你的所有帮助
  • 改变颜色只需要使用.highlight类中的颜色样式
  • 是的,现在一切正常 :D,一个简单的问题是我可以更改 Jquery 以搜索手机列上的最后 5 位数字而不是匹配孔号?
  • 在电话号码上使用普通javascript的子字符串方法提取最后5位数字
  • 我只是想有没有办法只搜索已经放入的内容?所以说我只需输入 077901 并单击查找我可以修改上面的内容以搜索任何匹配的数字吗?因为如果我使用子字符串,我真的无法确定用户将输入多少个数字,它可能更多可能更少?