2010-09-01 2 views
2

У меня есть следующий код:Jquery: Выберите следующий вложенный вход

<td><input class="publish" id="publish_company_ids" name="publish_company_ids[]" type="checkbox" value="1" /></td> 

<td><input class="discard" id="discard_company_ids" name="discard_company_ids[]" type="checkbox" value="1" /></td> 

я хотел бы, когда я нажимаю первый флажок, то второй флажок, чтобы стать инвалидом. Я пытаюсь использовать этот код jquery:

$(".publish").click(function() { 
$(this).parent().next("td > input[text='checkbox']").css("border","1px solid green"); 
}); 

Я попытался изменить границу css, но он не работает.

ответ

1

Во-первых, у вас есть text вместо type в вашем селекторе.

Во-вторых, если это не поможет, попробуйте следующее:

$(this).parent().next('td').children('input:checkbox').css('border','1px solid green'); 
+0

Он работал, просто он не хотел изменения CSS (это не относится границу), поэтому я заменить его переключения (), и это сработало. Я много пробовал, но только этот работает. Спасибо – JohnDel

+0

Добро пожаловать! =) –

2

Если вы хотите, чтобы пользователи могли выбрать только один из флажком, то вы должны радиокнопку вместо флажка.

+0

Если я добавлю переключатели, мне придется добавить 3 радио, в случае, если кто-то захочет отменить выбор. – JohnDel

+0

Вам не нужно добавлять три радиостанции, но вам не нужно делать какие-либо радиоприемники по умолчанию. это оно. У вас будет три результата. один publish_company_ids, discard_company_ids и null, вы не получите никакого значения. –

+1

Мне нужно будет добавить его, если пользователь случайно выберет опцию и захочет отменить его. – JohnDel

0

Try:

$(".publish").click(function() { 
$(this).parent().find("input.discard").css("border","1px solid green"); 
}); 

Или:

$(".publish").click(function() { 
$(this).parent().children("input.discard").css("border","1px solid green"); 
});