デモをご覧ください。<select>
スパンの内側にあるものに影響を与えないのはなぜですか?(または、どうすればそのように機能させることができますか?)
質問する
92 次
4 に答える
0
$('.test').bind("propertychange keyup input paste", function(event){
if ($(this).val() != '') {
$(this).prevAll().find('select').attr('disabled', true);
} else {
$(this).prevAll().find('select').attr('disabled', false);
}
});
于 2012-09-17T05:45:37.933 に答える
0
あなたの最初select
はスパンにあり、2番目はそうではありませんspan
..私はそれがタイプミスだと思います。
答えは、2番目select
もスパンにあることを前提としています
$('.test').bind("propertychange keyup input paste", function(event){
if ($(this).val() != '') {
$(this).prev().find('select').attr('disabled', true);
} else {
$(this).prev().find('select').attr('disabled', false);
}
});
于 2012-09-17T05:46:45.137 に答える
0
これは、最初のケースではprevAllが前の兄弟を返すためです。この場合、無効にされていないがselect要素ではないspan要素です。したがって、select要素は無効になりません。2番目のケースでは、select要素が選択されて無効になっています。最初のケースで機能するには、span要素でselectを見つける必要があります。
$(this).prevAll().find('select').attr('disabled', true);
于 2012-09-17T05:47:02.353 に答える
0
これは、prevAllが「兄弟」を選択し、「select」がその兄弟ではなく、「span」が選択するためです。したがって、「thecodeparadox」が提案したものを使用できます。
于 2012-09-17T05:47:11.953 に答える