2014-09-30 123 views
0

我有一個具有不同id(post-1,post2等)的無線標籤列表。jquery select特定元素

我試圖通過點擊收音機來獲得具體的帖子ID請求。 這是HTML:

$("#pro").click(function(){ 
 
    var post = $(this).val(); 
 
    alert(post); 
 
    $.get("<?php echo get_template_directory_uri(); ?>/jquery.php",{type: 'post', userid :'<?php echo get_current_user_id();?>', postid: '<?php echo $post->ID; ?>', pro : "pro"},function(data,status){ 
 
    alert("Data: " + data + "\nStatus: " + status); 
 
    }); 
 
});
<input type = "radio" value = "<?php echo $post->ID;?>" class="pro-radio" name="pro-<?php echo $post->ID;?>" id="pro" <?php echo $GLOBALS['lock']; ?> <?php echo $pro_select; ?>> <label for="pro" class="pro-radio" >pro</label>

,這是jQuery的:

當我按下其中的一個,所有的無線電oprate jquery的。

謝謝。

+1

因爲它們都具有相同的ID – Sekai 2014-09-30 15:54:52

+1

後所呈現的HTML; PHP在這裏是無關緊要的。 – j08691 2014-09-30 15:55:52

+1

您的HTML與您在第一行所說的不符。你有不同的名字,但是有相同的ID。它看起來像你讓他們倒退。 – Barmar 2014-09-30 15:56:02

回答

0

我想你回覆名稱和標識, 試試這個網站

<input type = "radio" value = "<?php echo $post->ID;?>" class="pro-radio" id="pro-<?php echo $post->ID;?>" name="pro" <?php echo $GLOBALS['lock']; ?> <?php echo $pro_select; ?>> <label for="pro" class="pro-radio" >pro</label> 
0

嘗試加入不同的類對每個單選按鈕,按類名選擇 變種後= $(「的className」)。VAL (); alert(post);

0

我認爲你的HTML有點奇怪。您使用相同的id,但不同的name屬性爲您的無線電。假設,你有這樣的HTML:由

$('input[name=pro]').change(function() { 
    if ($(this).is(':checked')) { 
     alert($(this).val()); 
    } 
}); 

請注意,該電臺是由他們的(相同的)選擇name,但不是:

<input type="radio" name="pro" value="1" id="pro-1"> <label for="pro-1">pro 1</label> 
<input type="radio" name="pro" value="2" id="pro-2"> <label for="pro-2">pro 2</label> 
<input type="radio" name="pro" value="3" id="pro-3"> <label for="pro-3">pro 3</label> 

然後使用這個JS獲取所選值(不同)id。然後,您必須使用​​來驗證當前元素是否爲選定元素,如果通過鍵盤輸入選擇元素,則最終使用change()而不是click()

看看這裏:http://jsfiddle.net/seofu1t4/

+0

有一個我沒告訴的問題。每個職位有2個radois(贊成和反對),所以這就是爲什麼這個名字是親號碼。現在,當我點擊其中一個無線電元素時,jquery獲得點擊併發送5次(5是我有​​的帖子的數量)相同的獲取請求。 – Barak 2014-09-30 18:02:06

+0

我已更新小提琴http://jsfiddle.net/seofu1t4/1/ – DerVO 2014-09-30 18:11:11