مربع الاختيار يغير الوالد TR، والمدخلات الواردة في الداخل

StackOverflow https://stackoverflow.com/questions/1238071

  •  11-09-2019
  •  | 
  •  

سؤال

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

إليك ما لدي في الوقت الحالي ل HTML (متكرر 7 مرات):

<td><div>From:</div><input type="text" name="F_MON"></td>
<td><div>To:</div><input type="text" name="T_MON"></td>
<td class="unavailableday"><input type="checkbox" name="MON_UNAVAIL" value="Y"> Unavailable?</td>

ثم جافا سكريبت:

$("tr td input[type=checkbox]").bind("click", function() {
    var $this = $(this);
    if($this.is(':checked')) {
        $this.parents('tr').css({'background-color' : 'lightyellow'});
        $this.parents('tr input').siblings('input type=[text]').attr("disabled", true);
    }
});

لسوء الحظ، عند تحديد المربع، يذهب TR المناسب الأصفر وهو مثالي، ولكن المدخلات السابقة لا تعطيل ... أود أيضا أن أفعل. منذ ذلك الحين المعوقين، كيندا على أمل أن أتمكن من الحصول على الآباء / الأشقاء الحق في أن يكون من السهل التكيف: O

شكرا!

هل كانت مفيدة؟

المحلول

يحاول

$("tr td :checkbox").bind("click", function() {
    var $this = $(this);
    if($this.is(':checked')) {
        var $row = $this.closest('tr');
        $row.css('background-color', 'lightyellow');
        $this.siblings(':text').attr("disabled", "disabled");
    }
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top