2013-12-14 197 views
0

我不能理解我的腳本有什麼問題,爲什麼即使第一個alert不起作用?
http://jsfiddle.net/TULsL/17/腳本不起作用

HTML:

<div id="listProducts"> 
    <input type="radio" class="selectItem" name="inch" id="inch-1" value="1" /> 
    <label for="inch-1">Имя: тостер, Цвет: серый, Тип: мелкая техника, Цена: <span class="priceIn">500</span>, Количество единиц на складе: 5</label> 
    <br/> 
    <input type="radio" class="selectItem" name="inch" id="inch-2" value="4" /> 
    <label for="inch-2">Имя: миксер, Цвет: черный, Тип: мелкая техника, Цена: <span class="priceIn">300</span>, Количество единиц на складе: 3</label> 
    <br/> 
    <input type="radio" class="selectItem" name="inch" id="inch-3" value="5" /> 
    <label for="inch-3">Имя: электрочайник, Цвет: белый, Тип: мелкая техника, Цена: <span class="priceIn">320</span>, Количество единиц на складе: 2</label> 
    <br/> 
</div> 
<input type="text" id="priceValue" /> 

的JavaScript:

$(document).ready(function() { 
    $('#listProducts input:radio:checked']).click(function() { 
     alert('test'); 
     var text = $(this).next('label').find('.priceIn').html(); 
     alert(text); 
     $('#priceValue').text(text); 
    }); 
}); 
+0

爲http://的jsfiddle .net/TULsL/25/ –

回答

0

刪除]和:檢查和文本(文本)應該是VAL(文本)

原文:

$(document).ready(function() { 
    $('#listProducts input:radio:checked']).click(function() { 
     alert('test'); 
     var text = $(this).next('label').find('.priceIn').html(); 
     alert(text); 
     $('#priceValue').text(text); 
    }); 
}); 

正確:

$(document).ready(function() { 
    $('#listProducts input:radio').click(function() { 
     alert('test'); 
     var text = $(this).next('label').find('.priceIn').html(); 
     alert(text); 
     $('#priceValue').val(text); 
    }); 
}); 
+0

它沒有幫助( –

+1

我發現,我需要刪除':checked'並且用'$('#priceValue')。val(text)'替換'$('#priceValue').text(text);'' –

+0

很高興你找到它了,我把它添加到我的回答:) – fonZ

0

你犯錯兩個一爲 ']',並檢查屬性..

$('#listProducts input:radio').click(function() { 
      alert('test'); 
      var text = $(this).next('label').find('.priceIn').html(); 
      alert(text); 
      $('#priceValue').val(text); 
     }); 
0

你在最後忘記'

$('#listProducts input:radio:checked]') 
        -------------------^-- 

也只是使用的$('#listProducts input:radio]')代替

$('#listProducts input:radio:checked]') 
+0

但是然後你打開報價兩次,關閉一次,或打開一次,關閉兩次,應該是? – fonZ

+0

@fonZ ohh很好的接收...我忘了。 –

0
$(document).ready(function() { 
    // an extra ] at the end of the selector and you were registering the handler to only the checked radio button, in this case when the page loads there are no radio button which is checked 
    $('#listProducts input:radio').change(function() { 
     alert('test'); 
     var text = $(this).next('label').find('.priceIn').html(); 
     alert(text); 
     $('#priceValue').text(text); 
    }); 
}); 

演示:Fiddle

而且最好使用更改處理代替單擊處理