سؤال

أنا أتساءل عما إذا كان أي شخص يعرف طريقة للوصول إلى حقل مخفي (معرف من قبل العميل) خلال صف الجدول باستخدام مسج.

$("#tblOne").find("tr").click(function() {
            var worker = $(this).find(":input").val();
        });

أجد أن الأعمال المذكورة أعلاه بالنسبة صف واحد فقط المدخلات ، ولكن انا بحاجة الى بعض المساعدة في معرفة طريقة الحصول على قيمة مدخلات اسم.

هنا مثال من صف الجدول.كيف يمكنني الوصول إلى حقلين من قبل معرف ؟

<table id="tblOne">
<tr>
<td>
    <asp:HiddenField id="hdnfld_Id" Text='<% Eval("ID") %>'></asp:HiddenField>
</td>
<td>
    <asp:HiddenField id="hdnfld_Id2" Text='<% Eval("ID2") %>'></asp:HiddenField>
</td>
</tr> 
</table>
هل كانت مفيدة؟

المحلول

ومع الطريقة التي لديك الإعداد الآن، هل يمكن أن تفعل هذا:

$('tr td', '#tblOne').eq(0).find(':input').val(); // find input in 1st TD
$('tr td', '#tblOne').eq(1).find(':input').val(); // find input in 2nd TD

وباستخدام هذا لم يكن لديك ما يدعو للقلق ClientID المدخلات و.

نصائح أخرى

وأنا عادة استخدام البحث إيجابي لتتناسب مع الهوية، وهذه الطريقة يتجنب تتطلب هوية العميل

و(معرف يحتوي فو) . $ (هذا) .find ( "إدخال [معرف * = 'فو']") فال ()؛

هل يمكن أن تفعل مثل هذا:

    $("#tblOne").find("tr").click(function() {
        var election = $(this).find("td").eq(0).html();
        var worker = $(this).find('input[name=theName]').val();
    });

ومن خلال قراءة هذه المادة ممتازة "كيف تحصل على ما تريد باستخدام مسج "بنيامين الاسترليني.

لماذا لا مجرد استخدام هذا:

jQuery("#<%=hdnfld_Id.ClientID%>")

و<asp:HiddenField id="foo"> يولد <input type="hidden" id="foo"/> أليس كذلك؟ لماذا لا مجرد القيام

$("#foo").val()

وأعتقد أنك بحاجة لشرح ما نحاول القيام به بشكل أفضل قليلا. إذا وجدت أن

$(this).find(":input").val();

... يعمل فقط عندما يكون لديك مدخلا واحدا، ربما ما كنت تبحث عن هذا:

$(this).find(":input").each(function() {
  // Prints the value of each input.
  alert($(this).val());
}

ولكن كما هو عليه، سؤالك ليس واضحا جدا. محاولة تحرير سؤالك وتأخذ وقتك لشرح بالضبط ما تريد.

وليس جوابا، ولكن كنت تواجه صعوبة لا يصدق في سحب قيمة حقل المخفية من ضمن خلية جدول (باستخدام tablesorter على هذا الجدول طبعا)، لذلك أنا سعيدة جدا لأنها وجدت هذا الخط من التعليمات البرمجية:

و$ (هذا) .find ( ": إدخال"). فال ()؛

وويعمل بشكل رائع.

وأنا أيضا استخدام وظيفة ".live"، لذلك يعمل حتى على جداول ضخمة.

وشكرا لك!

وHLR

لدي ثلاث علامات التبويب مع كل زر إرسال مما تسبب في ظهورهم وظيفة.بعد الحدث انقر على زر إرسال, أريد التبويب الحالية مستمرة.

الخطوة 1.

وأضاف asp:HiddenField داخل علامات التبويب شعبة ('علامات' div يحمل كل ثلاثة divs أن يكون المحتوى لبلدي علامات التبويب).

<asp:HiddenField ID="sel_tab" Value="" runat="server" />

الخطوة 2.

تحديث قيمة sel_tab مع الحدث انقر فوق كل زر أسباب ما بعد الظهر.

protected void cmdSaveDailyMeasure_Click(object sender, EventArgs e)
{
    sel_tab.Value = "0";
}
protected void cmdSaveWeeklyMeasure_Click(object sender, EventArgs e)
{
    sel_tab.Value = "1";
}
protected void cmdSaveMonthlyMeasure_Click(object sender, EventArgs e)
{
    sel_tab.Value = "2";
}

الخطوة 3.في بلدي .js الملف لدي البرمجية التالية

// Tabs
$(document).ready(function() {
    var iSelectedTab = $(this).find("input[id*='sel_tab']").val();
    if (iSelectedTab == null)
        iSelectedTab = 0;    
    $('[id$=tabs]').tabs({ selected: iSelectedTab });
});

يعمل هذا حتى إذا كنت تستخدم الصفحات الرئيسية (أنا).لا تحتاج <%=foo.ClientID%> الجزء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top